首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >这段代码的行为有什么不同?

这段代码的行为有什么不同?
EN

Stack Overflow用户
提问于 2016-09-01 17:25:08
回答 2查看 61关注 0票数 2

我有以下代码:

代码语言:javascript
运行
复制
public class Application extends ApplicationManager{

    public static void main(String[] args) {
        ProcessUtility.enableProcessUtility(); 
        new Application().start();
    }
}

和类ApplicationManager代码:

代码语言:javascript
运行
复制
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方法将被调用,它可以在不调用父类默认构造函数的情况下被调用吗?

我的第二个问题是上面的代码不同于这个代码:

代码语言:javascript
运行
复制
public class Application extends ApplicationManager{

    public static void main(String[] args) {    
        new Application().start();
    }


    @Override
    protected void start() {
        ProcessUtility.enableProcessUtility();
        super.start();
    }
}

和上面的ApplicationManager类。

这是静态方法的代码:

代码语言:javascript
运行
复制
public static void enableProcessUtility() {
    isCommon = false;
}

提前谢谢。

EN

Stack Overflow用户

发布于 2016-09-01 17:31:30

你的第一个问题已经在这里回答了https://stackoverflow.com/a/10508202/2527075

至于你的第二个问题,在第二个例子中,超级构造函数将在ProcessUtility调用之前被调用,在第一个例子中,ProcessUtility调用是第一个。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39267672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档