[英]How to pass a Class as method parameter?
我有以下类层次结构:
超级类和子类:
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();
}
可能吗 ?
根据您的情况,作为SuperClass的每个类继承,您都可以使用以SuperClass作为参数的方法,并且该方法可以接收其任何子类。
例:
SuperClass createMySubclass(SuperClass myClass){
SuperClass type = myClass;
}
在主目录中的某处,您应该具有以下内容:
Class1 mySubClass = new Class1();
SuperClass mySuperClass = new SuperClass();
mySuperClass.createMySubClass(mySubClass);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.