java中的主函數(shù)是我們再熟悉不過的了,在java中main方法是java應(yīng)用程序的入口方法,由此可見main方法是很重要的,那java沒有main方法可以運(yùn)行嗎?下面來我們就來給大家講解一下。
不可以運(yùn)行,沒有main主函數(shù)是不能運(yùn)行的,相當(dāng)于是入口,沒有入口就無法進(jìn)入!
main有什么作用?
Java中的main方法,是一個java應(yīng)用程序的入口,無論一個java的應(yīng)用多么復(fù)雜龐大,或是多么的小,只要他是一個可以運(yùn)行的java程序那么必然就要有一個main方法。
main方法的定義格式通常固定如下:
public class Demo { public static void main(String[] args) { System.out.println("Hello Word"); } }
1、為什么是公共的?
ans1:Java指定了一些可訪問的修飾符如:private,protected,public。每個修飾符都有它對應(yīng)的權(quán)限,public權(quán)限最大,為了說明問題,我們假設(shè)main方法是用private修飾的,那么main方法出了Demo這個類對外是不可見的。
那么,JVM就訪問不到main方法了。因此,為了保證JVM在任何情況下都可以訪問到main方法,就用public修飾。
ans2:Java設(shè)計了幾個訪問修飾符,包括:private,protected,public。 在Java中聲明為public的任何方法或變量都可以從該類的外部訪問。 而JVM訪問main方法顯然不是在類的內(nèi)部訪問,因此main方法需要定義為public的方法。
2、為什么是靜態(tài)的?
靜態(tài)可以讓JVM調(diào)用main方法的時候更加方便,不需要通過對象調(diào)用。關(guān)于static關(guān)鍵字我們知道的是,static關(guān)鍵字修飾的方法,可以不用通過創(chuàng)建一個實(shí)例去訪問,而是可以通過類名直接訪問。并且static修飾的方法以及變量存儲在虛擬機(jī)當(dāng)中的方法區(qū)當(dāng)中,而非堆內(nèi)存當(dāng)中。
那么,對于虛擬機(jī)來說也是一樣的道理。main方法定義為static的,則對于虛擬機(jī)來說,在程序啟動之后并不需要創(chuàng)建一個實(shí)例,就可以去調(diào)用這個main方法。
3、為什么沒有返回值?
void表示main方法沒有返回值,沒有返回值的原因是因為Java不需要main方法向操作系統(tǒng)返回退出信息。如果main方法正常退出,那么Java應(yīng)用層序的退出代碼為0,表示成功的運(yùn)行了程序。
4、main
main的名稱不能變是為了JVM能夠識別程序運(yùn)行的起點(diǎn),main方法可以被重載,重載的main方法不會被執(zhí)行。main方法作為程序初始線程的起點(diǎn),任何其他線程均由該線程啟動。
JVM內(nèi)部有兩種線程,非守護(hù)線程和守護(hù)線程,main方法屬于非守護(hù)線程,守護(hù)線程通常由JVM自己使用,Java程序也可以表明自己的線程是守護(hù)線程。當(dāng)程序中所有的非守護(hù)線程終止時,JVM退出。也可以用Runtime類或者System.exit()來退出。
5、String [] args
String[] args,是main方法中唯一可以改變的地方!args是arguments的縮寫,只是一個變量默認(rèn)名,習(xí)慣性寫作它,但是也可以改變的,只要符合命名規(guī)則隨便你寫成什么。
在一個程序中,main方法是很重要的,沒有main程序就無法運(yùn)行,因為java虛擬機(jī)通過main方法找到需要啟動的,最后大家如果想要了解更多java初識知識,敬請關(guān)注賦能網(wǎng)。
本文鏈接:
本文章“java沒有main方法可以運(yùn)行嗎?main有什么作用?”已幫助 93 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579