繁体   English   中英

如何通过类作为方法参数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM