У меня есть следующие иерархии классов:Как передать параметр класса в качестве параметра?
Супер Класс и подклассы:
public class SuperClass(){
// attributes and accessors
public class Class1() extends SuperClass {
// attributes and accessors
}
public class Class2() extends SuperClass {
// attributes and accessors
}
public class Class3() extends SuperClass {
// attributes and accessors
}
У меня есть также метод в другом классе, чтобы создать подклассы:
SuperClass createMySubclass(){
}
Я интересно, как я могу передать в этом параметре метода класс, который я хочу создать и создать его экземпляр? Я не знаю, как это сделать:
Я хотел бы сделать что-то вроде:
SuperClass createMySubclass(Class myClass){
SuperClass type = new myClass.getConstructor();
}
возможно ли это?
Да - К сожалению, вопросы, которые просят за одно слово ответа являются не очень хорошо вопросов. –
Кроме того, на объектах класса не существует метода 'getConstructor()'. Вы можете получить список конструкторов, или вы можете найти точный, предоставив полную подпись. –
Конечно. Когда вы вызываете метод, вы передадите реальное значение, и параметр метода будет разрешен. Кроме того, 'getConstructor()' не требуется. –