我在一个应用程序中有两个类,并且都有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
方法。