Java中main()方法為什麼採用這個方法簽名

quentain發表於2015-09-11

(1)public修飾符:java類有JVM呼叫,為了讓JVM可以自由呼叫這個main()方法,所以使用public修飾符把這個方法暴露出來。

(2)static修飾符:JVM呼叫這個主方法時,不會先建立該主類的物件,然後通過物件來呼叫該主方法,JVM直接通過該類來呼叫主方法,因此使用static修飾該主方法。

(3)void返回值:因為主方法被JVM呼叫,該方法的返回值將返回給JVM,這沒有任何意義,因此main()方法沒有返回值。

      上面方法中還包括一個字串陣列形參,根據方法呼叫規則:誰呼叫方法,誰負責為形參賦值。也就是說,main()方法由JVM呼叫,即args形參應該由JVM負責賦值。但JVM怎麼知道如何為args陣列賦值呢?

看下面程式程式碼:

public class ArgsTest {
 public static void main(String[] args) {
	
	 System.out.println(args.length);
	 for(String arg:args){
		 System.out.println(arg);
	 }
  }
}
上面程式執行輸出一個0,這表明args陣列是一個長度為0的陣列——這是合理的。

相關文章