【问题标题】:Two classes with main methods, which will be executed first?两个具有主要方法的类,哪个将首先执行?
【发布时间】:2016-01-20 07:37:31
【问题描述】:

我在一个应用程序中有两个类,两个类都有主方法,当应用程序执行时,哪个类的主方法会先执行?

【问题讨论】:

标签: java class main


【解决方案1】:

由您决定调用哪个类作为主类。

java com.mypackage.MyMainClass

或者如果你有一个可运行的 jar,jar 中的 META-INF/manifest.mf 表示哪个是主类,例如:

Main-Class: com.mypackage.MyMainClass

现在这个命令将调用 jar 中声明的主类。

java -jar myjar.jar

更多详情请见:Setting an Application's Entry Point

【讨论】:

    【解决方案2】:

    简短回答:两者都不会被称为 first,因为没有 magic 执行它们。您决定调用哪一个。


    一个类有一个main(String...) 方法仅仅意味着它可以用作应用程序的入口点(即执行开始的地方),而不是每个这样的方法都有一些“魔法”将被执行。

    一旦你有了一个main 方法,你就可以使用:

    java path.to.my.Class
    

    或者,如果您将应用程序打包在jar 文件中,您可以在其manifest 中指明哪个类(以及哪个main 方法)应用作入口点。

    因此,无论哪种方式,您都可以指定调用哪个main 方法。

    【讨论】:

      猜你喜欢
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-29
      • 1970-01-01
      • 1970-01-01
      • 2013-10-17
      • 2012-03-25
      相关资源
      最近更新 更多