您好,歡迎來到賦能網(wǎng)!

java沒有main方法可以運(yùn)行嗎?main有什么作用?

賦能網(wǎng) 2023-05-09 93

java中的主函數(shù)是我們?cè)偈煜げ贿^的了,在java中main方法是java應(yīng)用程序的入口方法,由此可見main方法是很重要的,那java沒有main方法可以運(yùn)行嗎?下面來我們就來給大家講解一下。

不可以運(yùn)行,沒有main主函數(shù)是不能運(yùn)行的,相當(dāng)于是入口,沒有入口就無(wú)法進(jìn)入!

main有什么作用?

Java中的main方法,是一個(gè)java應(yīng)用程序的入口,無(wú)論一個(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、為什么是公共的?

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)的?

靜態(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表示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ī)則隨便你寫成什么。

在一個(gè)程序中,main方法是很重要的,沒有main程序就無(wú)法運(yùn)行,因?yàn)閖ava虛擬機(jī)通過main方法找到需要啟動(dòng)的,最后大家如果想要了解更多java初識(shí)知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。


本文鏈接:

本文章“java沒有main方法可以運(yùn)行嗎?main有什么作用?”已幫助 93 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(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

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: