我有以下类层次结构:
超类和子类:
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();
}
有可能吗?
答案 0 :(得分:0)
根据你的场景,因为每个类都来自SuperClass,你可以使用SuperClass作为参数的方法,它可以接收任何子类。
示例:
SuperClass createMySubclass(SuperClass myClass){
SuperClass type = myClass;
}
在你的主要地方,你应该有这样的东西:
Class1 mySubClass = new Class1();
SuperClass mySuperClass = new SuperClass();
mySuperClass.createMySubClass(mySubClass);