您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)java中main方法的介紹和使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
Java中的main方法,是一個(gè)java應(yīng)用程序的入口,無論一個(gè)java的應(yīng)用多么復(fù)雜龐大,或是多么的小,只要他是一個(gè)可以運(yùn)行的java程序那么必然就要有一個(gè)main方法。
main方法的定義格式通常固定如下:
public class Demo { public static void main(String[] args) { System.out.println("Hello Word"); }}
1、為什么是公共的(public)
ans1:Java指定了一些可訪問的修飾符如:private,protected,public。每個(gè)修飾符都有它對(duì)應(yīng)的權(quán)限,public權(quán)限最大,為了說明問題,我們假設(shè)main方法是用private修飾的,那么main方法出了Demo這個(gè)類對(duì)外是不可見的。
那么,JVM就訪問不到main方法了。因此,為了保證JVM在任何情況下都可以訪問到main方法,就用public修飾。
ans2:Java設(shè)計(jì)了幾個(gè)訪問修飾符,包括:private,protected,public。 在Java中聲明為public的任何方法或變量都可以從該類的外部訪問。 而JVM訪問main方法顯然不是在類的內(nèi)部訪問,因此main方法需要定義為public的方法。
2、為什么是靜態(tài)的(static)
靜態(tài)可以讓JVM調(diào)用main方法的時(shí)候更加方便,不需要通過對(duì)象調(diào)用。關(guān)于static關(guān)鍵字我們知道的是,static關(guān)鍵字修飾的方法,可以不用通過創(chuàng)建一個(gè)實(shí)例去訪問,而是可以通過類名直接訪問。并且static修飾的方法以及變量存儲(chǔ)在虛擬機(jī)當(dāng)中的方法區(qū)當(dāng)中,而非堆內(nèi)存當(dāng)中。
那么,對(duì)于虛擬機(jī)來說也是一樣的道理。main方法定義為static的,則對(duì)于虛擬機(jī)來說,在程序啟動(dòng)之后并不需要?jiǎng)?chuàng)建一個(gè)實(shí)例,就可以去調(diào)用這個(gè)main方法。
3、為什么沒有返回值(void)
void表示main方法沒有返回值,沒有返回值的原因是因?yàn)镴ava不需要main方法向操作系統(tǒng)返回退出信息。如果main方法正常退出,那么Java應(yīng)用層序的退出代碼為0,表示成功的運(yùn)行了程序。
4、main
main的名稱不能變是為了JVM能夠識(shí)別程序運(yùn)行的起點(diǎn),main方法可以被重載,重載的main方法不會(huì)被執(zhí)行。main方法作為程序初始線程的起點(diǎn),任何其他線程均由該線程啟動(dòng)。
JVM內(nèi)部有兩種線程,非守護(hù)線程和守護(hù)線程,main方法屬于非守護(hù)線程,守護(hù)線程通常由JVM自己使用,Java程序也可以表明自己的線程是守護(hù)線程。當(dāng)程序中所有的非守護(hù)線程終止時(shí),JVM退出。也可以用Runtime類或者System.exit()來退出。
5、String [] args
String[] args,是main方法中唯一可以改變的地方!args是arguments的縮寫,只是一個(gè)變量默認(rèn)名,習(xí)慣性寫作它,但是也可以改變的,只要符合命名規(guī)則隨便你寫成什么。
在使用集成開發(fā)工具的今天,String[] args更像是一種擺設(shè)了,很多初學(xué)者都不知道它的作用,其實(shí)它是程序運(yùn)行傳入的一個(gè)參數(shù)組。
看完上述內(nèi)容,你們對(duì)java中main方法的介紹和使用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。