2016-01-20 83 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方法。

相關問題