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). –
Вы можете использовать метод newInstance() объекта класса.
для вышеприведенного примера вы можете сделать:
type.newInstance();
Ограничение для этого подхода - вы не можете вызвать конструктор с параметрами.
Это моя проблема, у конструктора есть некоторые параметры :( – siiikooo0743
Прочтите javadoc для 'Class'. –
Что вы пытаетесь достичь? – Fildor