淺析java程序入口main()方法
main()方法的方法簽名
public static void main(String[] args)
方法簽名講解
- public修飾符:java類由java虛擬機(JVM)調(diào)用,為了沒有限制可以自由的調(diào)用,所以采用public修飾符。
- static修飾符:JVM調(diào)用這個主方法時肯定不是先創(chuàng)建這個主類的對象,再通過對象來調(diào)用方法,而是直接通過該類來調(diào)用這個方法,因此需要使用static修飾符修飾這個類。
- void返回值:主方法被JVM調(diào)用,將返回值返回給JVM沒有任何意義,因此該方法沒有返回值,所以使用void。
擴展:
- public:該修飾符表明該數(shù)據(jù)成員、成員函數(shù)是對所有用戶開放的,所有用戶都可以直接進(jìn)行調(diào)用。
- static:該修飾符表示靜態(tài)的意思,簡單理解被static修飾符修飾的成員都屬于類本身,而不屬于類的某個實例,靜態(tài)成員不能能直接訪問非靜態(tài)成員。
- void:使用void說明沒有返回值。
這時會發(fā)現(xiàn)我沒有說字符串?dāng)?shù)組形參內(nèi)容,這里我們首先知道,誰調(diào)用方法,誰去傳遞形參,所以args形參由JVM負(fù)責(zé)賦值,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è)定參數(shù)值,所以JVM也就不知道args數(shù)組中的元素,然后JVM給args數(shù)組設(shè)置為一個長度為0的數(shù)組。
如果我們使用dos命令運行程序時,在類名后加上一個或者多個字符串(以空格隔開),這時JVM會依次將這些數(shù)值賦給args數(shù)組。
例如:
λ java lzjarg lzj why
lzj
why
-------------------
2
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
idea中使用SonarLint進(jìn)行代碼規(guī)范檢測及使用方法
這篇文章主要介紹了idea中使用SonarLint進(jìn)行代碼規(guī)范檢測,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08詳解MyBatis-Plus Wrapper條件構(gòu)造器查詢大全
這篇文章主要介紹了詳解MyBatis-Plus Wrapper條件構(gòu)造器查詢大全,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Java與C++實現(xiàn)相同的MD5加密算法簡單實例
下面小編就為大家?guī)硪黄狫ava與C++實現(xiàn)相同的MD5加密算法簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09java8 如何實現(xiàn)分組計算數(shù)量和計算總數(shù)
這篇文章主要介紹了java8 如何實現(xiàn)分組計算數(shù)量和計算總數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07emoji表情與unicode編碼互轉(zhuǎn)的實現(xiàn)(JS,JAVA,C#)
這篇文章主要介紹了emoji表情與unicode編碼互轉(zhuǎn)的實現(xiàn)(JS,JAVA,C#),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01