2016-01-20 54 views
1

我有一个应用程序中的两个类,都有主要的方法,当应用程序执行哪个类的主要方法将首先执行?主要方法有两个类,它们将首先执行?

+0

Welcoem to [so]!请阅读[问]并分享[mcve]! – jkalden

+0

事实上,关于顺序没有问题,但是哪种方法:根据配置(哪一个被称为程序的入口),只有一个将被执行。 –

回答

1

您可以指定您称为主类的那个类。

java com.mypackage.MyMainClass 

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

Main-Class: com.mypackage.MyMainClass 

现在,这个命令会调用宣布主类的罐子。

java -jar myjar.jar 

有关详细信息,请参阅:Setting an Application's Entry Point

0

简短的回答:无论将被称为第一,因为没有魔法执行它们。你决定你打电话给哪一个。


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

一旦你有一个main方法,您可以使用调用它:或者

java path.to.my.Class 

,如果你在一个jar文件打包应用程序,你可以在它的manifest哪个阶级指示(因而其main方法)作为入口点。

因此,无论哪种方式,都由您来决定调用哪个main方法。