Java基礎——對main方法的理解
1. 對main方法的理解
public static void main(String[ ] args) 為Java程式的入口。
public: 許可權修飾符,表明任何類或物件都可以訪問。
static:“靜態”,表明main方法是一個靜態方法,方法中的程式碼儲存在靜態儲存區,只要類被載入後,就可以使用該方法而不需要通過例項化物件來訪問,可以直接通過類名.main()直接訪問。
void: 返回值為空。
main: Java識別的特殊方法名,是程式的入口方法。
String[] args:字串陣列,引數args為開發人員在命令列狀態下輸入引數。
JVM執行時按照上述方法簽名來查詢方法的入口。必須有public 和 static修飾,返回值為空,方法的引數為字串陣列,方法名為main。
2.main方法是否還有其它可用的定義格式?
(1)public和static沒有先後順序關係,因此以下定義也合理。
static public void main(String[ ] args)
(2)還可以把main方法定義為final
public static final void main(String[ ] args)
(3)還可以用synchronized修飾main方法
public static synchronized void main(String[ ] args)
由於main()方法為程式的入口方法,不能用abstract關鍵字修飾
3. 同一個.java檔案中是否可以有多個main()方法?
雖然每個類中都可以定義main()方法,但只有與檔名相同的用public修飾的類中的main()方法才能作為整個程式的入口方法。
4.main()方法一定是程式執行時第一個被執行的模組嗎?
答案:否
靜態塊在類被載入時就會被呼叫,而main()方法是類被載入後程序執行的入口,只不過mian()方法是靜態方法,不用通過例項化物件來訪問。
示例:
public class Test{ static { System.out.println("Hello World1"); } public static void main(String[] args) { System.out.println("Hello World2"); } }
輸出結果:
Hello World1
Hello World2