我想制作一个测试程序,而不是显式指定main
方法,扩展一个类/抽象类,并覆盖一个由超类调用的方法,例如init
。
我的尝试:
JavaApplication.java
public class JavaApplication {
public JavaApplication(){
this.init(null);
}
public JavaApplication(String[] args) {
this.init(args);
}
public void init(String[] args) {
/* override me */
}
public static void main(String[] args) {
new JavaApplication(args);
}
}
MyApp.java :
public class MyApp extends JavaApplication {
@Override
public void init(String[] args) {
System.out.println("Hello, World!");
}
}
代码编译但是我的init方法没有被调用(字符串没有出现)。
在Java中制定此行为的正确方法是什么?
相关问题:
答案 0 :(得分:0)
您需要在main
中添加MyApp
方法,以创建MyApp
的实例:
public static void main(String[] args) {
new MyApp(args);
}
然后,运行MyApp
而不是JavaApplication
。