gpt4 book ai didi

java - 接口(interface)作为方法/构造函数参数

转载 作者:行者123 更新时间:2023-12-02 10:46:21 27 4
gpt4 key购买 nike

我正在尝试使用现有的包来创建我自己的应用程序。但是我不知道如何调用接口(interface)参数化方法。

包中有一个类,其构造函数是

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)调用应用程序?

问题类似于:interface as a method parameter in Java但我无法理解将接口(interface)作为参数的想法。

最佳答案

您提供一个实现该接口(interface)并重写这些方法的类;就如此容易。 default 方法是可重写的,并且采用此interface 作为参数的方法可以采用该新类作为参数(因为它实现了该接口(interface));因此将调用该类中的方法。

关于java - 接口(interface)作为方法/构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52544322/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com