【发布时间】:2016-01-20 07:37:31
【问题描述】:
我在一个应用程序中有两个类,两个类都有主方法,当应用程序执行时,哪个类的主方法会先执行?
【问题讨论】:
-
其实不是顺序的问题,而是哪个方法的问题:只会执行一个,取决于配置(说是程序的入口)。
我在一个应用程序中有两个类,两个类都有主方法,当应用程序执行时,哪个类的主方法会先执行?
【问题讨论】:
由您决定调用哪个类作为主类。
java com.mypackage.MyMainClass
或者如果你有一个可运行的 jar,jar 中的 META-INF/manifest.mf 表示哪个是主类,例如:
Main-Class: com.mypackage.MyMainClass
现在这个命令将调用 jar 中声明的主类。
java -jar myjar.jar
【讨论】:
简短回答:两者都不会被称为 first,因为没有 magic 执行它们。您决定调用哪一个。
一个类有一个main(String...) 方法仅仅意味着它可以用作应用程序的入口点(即执行开始的地方),而不是每个这样的方法都有一些“魔法”将被执行。
一旦你有了一个main 方法,你就可以使用:
java path.to.my.Class
或者,如果您将应用程序打包在jar 文件中,您可以在其manifest 中指明哪个类(以及哪个main 方法)应用作入口点。
因此,无论哪种方式,您都可以指定调用哪个main 方法。
【讨论】: