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