Java 如何将类作为方法参数传递?
我有以下类层次结构: 超类和子类:Java 如何将类作为方法参数传递?,java,class,introspection,Java,Class,Introspection,我有以下类层次结构: 超类和子类: 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() ex
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 createMySubclass(SuperClass myClass){
SuperClass type = myClass;
}
在你的主要部分,你应该有这样的东西:
Class1 mySubClass = new Class1();
SuperClass mySuperClass = new SuperClass();
mySuperClass.createMySubClass(mySubClass);
是--很抱歉,要求一个单词答案的问题不是很好的问题。此外,类对象上没有
getConstructor()
方法。您可以获得构造函数列表,也可以通过提供完整签名找到确切的构造函数。当然可以。当您调用该方法时,您将传入一个实值,并且该方法参数将被解析。另外,getConstructor()
是不必要的。您不能以这种方式使用new,并且在类定义的类名后面不应该有括号。