我有一个通用的抽象类(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
method?
- 我不能只做新的因为在
SuperClass
我不知道 a 的真实姓名SubClass
- 我无法使用反射来做到这一点,因为我无法获取该名称
SubClass
从实现的静态方法SuperClass
(从超类中获取子类的名称 https://stackoverflow.com/questions/3417879/getting-the-name-of-a-sub-class-from-within-a-super-class)
在C++中,AFAIR,有类似的东西virtual
方法的修饰符,我想这在这里很有用。在Java中怎么做?
静态方法不是继承的,如果您希望子类作为应用程序的入口点,请在子类中编写 main 方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)