我有一个通用的抽象类(SuperClass
)。我想有一个main
方法,这将是每个子类的默认 main 并且会做同样的事情,但是使用派生和调用它的正确子类对象。
像这样:
public abstract class SuperClass {
// some code here...
public static void main(String args[]) {
// here instantiate the subclass
// extending this SuperClass, and call
// some methods
}
}
public SubClass extends SuperClass {
// here just implement some
// abstract methods from SupeClass
// and NOT implement main()
}
现在我希望能够SubClass
作为独立程序运行,该程序执行main
从SuperClass
. 如何SubClass
在方法中实例化正确的对象main
?
- 我不能只做新的,因为
SuperClass
我不知道一个的实际名称SubClass
- 我不能使用反射来做到这一点,因为我无法从(从超类中获取子类的名称)中实现
SubClass
的静态方法中获取名称SuperClass
在 C++ 中,AFAIR 中有类似virtual
方法的修饰符,我想这在这里很有用。在Java中怎么做?