【发布时间】:2017-01-09 02:38:55
【问题描述】:
我有以下代码:
public class Application extends ApplicationManager{
public static void main(String[] args) {
ProcessUtility.enableProcessUtility();
new Application().start();
}
}
以及ApplicationManager类的代码:
public class ApplicationManager {
public ApplicationManager() {
String configPath = "file:home" + File.separator + "log4j.xml";
System.setProperty("log4j.configuration", configPath);
logger = Logger.getLogger(ApplicationManager.class);
}
protected void start() {
logger.info("*** Starting ApplicationManager ***");
}
我在运行应用类的时候会调用父类的start方法,不调用父类默认构造函数可以调用吗?
我的第二个问题是上面的代码与这段代码不同:
public class Application extends ApplicationManager{
public static void main(String[] args) {
new Application().start();
}
@Override
protected void start() {
ProcessUtility.enableProcessUtility();
super.start();
}
}
和上面的 ApplicationManager 类。
这是静态方法的代码:
public static void enableProcessUtility() {
isCommon = false;
}
提前致谢。
【问题讨论】:
标签: java methods polymorphism overriding super