我有一个实现接口(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/