簡體   English   中英

接口作為方法/構造函數參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM