java程序入口main()方法淺析
main()方法的方法簽名
public static void main(String[] args)
方法簽名講解
?public修飾符:java類由java虛擬機(JVM)調用轰绵,為了沒有限制可以自由的調用,所以采用public修飾符尼荆。
?static修飾符:JVM調用這個主方法時肯定不是先創(chuàng)建這個主類的對象左腔,再通過對象來調用方法,而是直接通過該類來調用這個方法捅儒,因此需要使用static修飾符修飾這個類液样。
?void返回值:主方法被JVM調用,將返回值返回給JVM沒有任何意義野芒,因此該方法沒有返回值蓄愁,所以使用void。
?擴展:
?public:該修飾符表明該數(shù)據(jù)成員狞悲、成員函數(shù)是對所有用戶開放的撮抓,所有用戶都可以直接進行調用。
?static:該修飾符表示靜態(tài)的意思摇锋,簡單理解被static修飾符修飾的成員都屬于類本身丹拯,而不屬于類的某個實例,靜態(tài)成員不能能直接訪問非靜態(tài)成員荸恕。
?void:使用void說明沒有返回值乖酬。
這時會發(fā)現(xiàn)我沒有說字符串數(shù)組形參內容,這里我們首先知道融求,誰調用方法咬像,誰去傳遞形參,所以args形參由JVM負責賦值,JVM給args賦了什么值县昂?
我們先看一段程序:
public class args {
public static void main(String[] args){
for (String s:args) {
System.out.println(s);
}
System.out.println("-------------------" );
System.out.println(args.length);
}
}
輸出:
-------------------
0
?這里輸出數(shù)組長度為0肮柜,這是因為,程序沒有給args設定參數(shù)值倒彰,所以JVM也就不知道args數(shù)組中的元素审洞,然后JVM給args數(shù)組設置為一個長度為0的數(shù)組。
?如果我們使用dos命令運行程序時待讳,在類名后加上一個或者多個字符串(以空格隔開)芒澜,這時JVM會依次將這些數(shù)值賦給args數(shù)組。
例如:
λ java lzjarg lzj why
lzj
why
-------------------
2