public void initialize(Class<? extends MyType> type)
{
MyType variable = new type();
}
这不起作用。 我该怎么办?使用变量中的类型初始化变量
-siiikooo
public void initialize(Class<? extends MyType> type)
{
MyType variable = new type();
}
这不起作用。 我该怎么办?使用变量中的类型初始化变量
-siiikooo
您可以致电newInstance这样的 -
public void initialize(Class<? extends MyType> type) {
try {
MyType variable = type.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
}
有没有其他方法可以在其中调用带参数的构造函数? – siiikooo0743
@ user3224044是的。如果遇到困难,请发布另一个问题,但您可以从[java.lang.reflect.Constructor]开始(http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Constructor.html )。 –
您可以使用Class对象的newInstance()方法。
对于上述示例,您可以这样做:
type.newInstance();
此方法的限制是您无法调用具有参数的构造函数。
这是我的问题构造函数有一些参数:( – siiikooo0743
阅读javadoc的'Class'。 –
你想达到什么目的? – Fildor