[英]Interface as an method/constructor parameter
我正在嘗試使用現有的程序包在其上創建自己的應用程序。 但是我不知道如何調用接口參數化方法。
在包裝上有一個類,其構造函數是
public class App{
protected App(Logic logic) {
this(logic.configuration().welcomeScreen, logic.configuration().appName, Optional.of(logic));
}
}
界面是這樣的:
public interface Logic extends X, Y {
default Configuration configuration() {
return new AppConfiguration(1000, "Hello world", true);
}
default void initialize() {
System.out.println("Starting the application.");
}
}
和配置是這樣的:
public final class Configuration {
public final int tick;
public final String appName;
public final boolean welcomeScreen;
public Configuration(int tick, String appName, boolean welcomeScreen) {
this.tick = tick;
this.appName = appName;
this.welcomeScreen = welcomeScreen;
}
}
如何使用非默認配置(1000,“ Hello world”,true)調用該應用程序?
問題與此類似: 在Java中將接口作為方法參數,但我無法把握將接口作為參數的想法。
您提供了一個實現接口並覆蓋這些方法的類; 就如此容易。 default
方法是可重寫的,並且使用此interface
作為參數的方法可以將新類用作參數(因為它實現了接口); 因此將調用該類中的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.