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

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
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,702評論 4 12
  • 一、基礎知識:1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機...
    殺小賊閱讀 2,559評論 0 4
  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機制的簡單原理和應用。 當JAVA程序違反了JA...
    八爺君閱讀 5,182評論 1 114
  • 一、基本數(shù)據(jù)類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數(shù)值 對于byte類型而言...
    龍貓小爺閱讀 4,441評論 0 16
  • 雪凝落蕊,冰封梅香,馥郁而不失風趣憶; 拂袖弄墨,竹韻紙香,醇厚而不失清雅; 燕羽旋空,劃書刻簡,春露秋霜,周而復...
    雪凝落蕊閱讀 170評論 1 1

友情鏈接更多精彩內容