【发布时间】:2015-01-22 10:49:36
【问题描述】:
我有以下类层次结构:
超类和子类:
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()是不必要的。 -
不能这样使用new,而且类定义的类名后面不能有括号。
标签: java class introspection