jvm在試圖運行一個類之前,先檢查該類是否包含一個特殊方法。
public:這個方法必須是公有的,以便在任何位置都能訪問得到。
static:因爲這個方法不能依賴任何該類的實例即可運行,而非static的方法,在運行之前要先創建該類的實例對象。
void:這個方法沒有返回值。和C/C++程序不一樣,java的程序默認都以常態結束,所以main不返回int。如果要以非常態結束程序,可以用System.exit(1)。
main:至於這個方法的名字爲什麼一定是main,有歷史原因,因爲最早的C以main函數作爲程序入口,java沿用了這個歷史傳統。
String:這個方法必須可以接受數目不定的String類型的參數,因爲運行者可能要附加運行參數。如java HelloWorld jack 100,這裏的jack和100就是運行參數。(CMD中的運行)爲什麼是String呢?因爲String具有普遍性。任何字面形式都可以解釋成String,而其他類型則不然(如jack就不能解釋成整數或浮點數),所以用String來存儲參數最合適。而因爲參數數目不限一個,所以用了數組,即String[]。在Java 1.5以後,還可以寫成String...,表示數目不定。
args:至於參數的變量名可以任意,只要保證在方法內部按該變量名來獲得參數就行了,從變量的作用角度來說,叫arguments或args當然是最合適的。