gpt4 book ai didi

java - (JavaFX) 如何在构造函数和initialize()之间调用类的方法?

转载 作者:行者123 更新时间:2023-12-02 03:26:39 25 4
gpt4 key购买 nike

我有一个实现接口(interface)的类。从我的基类中,我创建了一个实现类的实例,如下所示:

Class newTab;
TransactionTabInterface tabInterface = null;
try {
newTab = Class.forName("[package] + title);
tabInterface = (TransactionTabInterface) newTab.newInstance();
tabInterface.setRootController(this);
} catch (Exception e) {
e.printStackTrace();
}

这是必要的,因为我不知道需要实例化的类的名称(title 在其他地方确定)。

我遇到的问题是,在新类中,我需要立即访问rootController。我在类中有一个方法,允许我传递 rootController 引用,如上面的代码所示。

通常,我会在实例化类时将 rootController 传递给构造函数,但我不知道如何在 newInstance() 中将参数传递给构造函数上面调用。

编辑:需要明确的是,上面的代码位于我的主类中,用于实例化新的 FXML Controller (newTab)。

最佳答案

在您的newTab上您可以调用的对象 getConstructor(Class<?>...)与构造函数的类型一起获取对具有所需参数的构造函数的引用。

然后就可以调用这个构造函数的 newInstance(Object...)使用参数调用构造函数的方法。

关于java - (JavaFX) 如何在构造函数和initialize()之间调用类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38776386/

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