两个带有 main 方法的类,将首先执行



我在一个应用程序中有两个类,并且都有main方法,当应用程序被执行时,哪个类的主方法将首先执行?

您指定将哪个类称为主类。

java com.mypackage.MyMainClass

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

Main-Class: com.mypackage.MyMainClass

现在,此命令将调用 jar 中声明的主类。

java -jar myjar.jar

有关详细信息,请参阅:设置应用程序的入口点

简短的回答:两者都不会首先被调用,因为没有魔法执行它们。你决定你打电话给哪一个。


一个类有一个main(String...)方法仅仅意味着它可以用作应用程序的入口点(即执行开始的地方),而不是通过某种"魔术"来执行每个这样的方法。

有了main方法后,可以使用以下命令调用它:

java path.to.my.Class

或者,如果将应用程序打包在 jar 文件中,则可以在其清单中指示应使用哪个类(以及哪个main方法)作为入口点。

因此,无论哪种方式,都可以由您来指示要调用的main方法。

相关内容

  • 没有找到相关文章

最新更新