java程序入口main()方法淺析


java程序入口main()方法淺析

main()方法的方法簽名

public static void main(String[] args)

方法簽名講解

 public修飾符:java類由java虛擬機(JVM)調用,為了沒有限制可以自由的調用,所以采用public修飾符。
 static修飾符:JVM調用這個主方法時肯定不是先創建這個主類的對象,再通過對象來調用方法,而是直接通過該類來調用這個方法,因此需要使用static修飾符修飾這個類。
 void返回值:主方法被JVM調用,將返回值返回給JVM沒有任何意義,因此該方法沒有返回值,所以使用void。
 擴展:
 public:該修飾符表明該數據成員、成員函數是對所有用戶開放的,所有用戶都可以直接進行調用。
 static:該修飾符表示靜態的意思,簡單理解被static修飾符修飾的成員都屬於類本身,而不屬於類的某個實例,靜態成員不能能直接訪問非靜態成員。
 void:使用void說明沒有返回值。

這時會發現我沒有說字符串數組形參內容,這里我們首先知道,誰調用方法,誰去傳遞形參,所以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

 這里輸出數組長度為0,這是因為,程序沒有給args設定參數值,所以JVM也就不知道args數組中的元素,然后JVM給args數組設置為一個長度為0的數組。
 如果我們使用dos命令運行程序時,在類名后加上一個或者多個字符串(以空格隔開),這時JVM會依次將這些數值賦給args數組。
例如:

λ java lzjarg lzj why
lzj
why
-------------------
2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM