【发布时间】:2012-07-12 17:19:48
【问题描述】:
我想创建一个方便的超类,它将创建任何subclass it is ran from 的实例,而无需硬编码子类的名称。最快的方法是什么?
我们可以假设子类的构造函数将具有相同的签名,例如没有参数。
class Main {
public static void main (String [] args) {
Main m = new NAME-OF-SUBCLASS();
}
}
class MainSub1 extends Main { /*...*/ }
class MainSub2 extends Main { /*...*/ }
因此,当从 MainSub1(命令行中的$ java MainSub1)调用 main 时,会创建 MainSub1 对象,等等。
在我写这篇文章时,我发现this 线程,接受的答案说它无法完成,但当然它可以通过反射或其他方式以某种方式完成,对吧?
【问题讨论】:
标签: java reflection subclass main