我有一个通用的抽象类(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中怎么做?