開(kāi)發(fā)人員都知道,程序執(zhí)行總是從main函數(shù)開(kāi)始,如果有有其他函數(shù),則完成對(duì)其他函數(shù)的調(diào)用后再返回到主函數(shù),最后由main函數(shù)結(jié)束整個(gè)程序。那java主函數(shù)如何定義?下面來(lái)我們就來(lái)給大家講解一下。
public static void main(String[] args) {}
public:
main主方法是由jvm來(lái)調(diào)用的,jvm實(shí)際也是一個(gè)程序,為了保證jvm能夠在任何情況下來(lái)調(diào)用主函數(shù)。
static:
如果沒(méi)有static這個(gè)時(shí)候調(diào)用主方法就需要通過(guò)對(duì)象來(lái)調(diào)用,jvm如果創(chuàng)建對(duì)象不知道該傳遞什么參數(shù),所以為了避免麻煩,就將方法定義成靜態(tài)的,
這個(gè)時(shí)候就不需要考慮對(duì)象,直接類(lèi)名調(diào)用就可以了。
void :
main是由jvm調(diào)用,返回值是給jvm,jvm接收返回值沒(méi)有任何意義,所以不需要返回值。
main:
不是關(guān)鍵字,main以及約定好這個(gè)就叫入口。
args:
用來(lái)接收程序運(yùn)行時(shí)傳遞進(jìn)來(lái)的參數(shù)。
java主函數(shù)怎么應(yīng)用?
1.C++中的main函數(shù)
C++繼承了C語(yǔ)言的大部分特性,因此保留了“程序總是從main函數(shù)開(kāi)始執(zhí)行,且總是默認(rèn)從main函數(shù)的return語(yǔ)句或結(jié)尾處結(jié)束運(yùn)行”這一傳統(tǒng),但是要注意,C++中的main函數(shù)要想作為程序執(zhí)行的出入口,必須寫(xiě)在全局(Global)范圍,不能寫(xiě)成某個(gè)結(jié)構(gòu)體或某個(gè)類(lèi)的成員。雖然main函數(shù)可以作為結(jié)構(gòu)體或者類(lèi)的成員函數(shù),但相應(yīng)地會(huì)失去作為程序出入口的功能。
C++中全局main函數(shù)的書(shū)寫(xiě)格式與C語(yǔ)言完全相同,功能也完全相同,且同一C++程序同樣只能有一個(gè)全局main函數(shù)。
2.Java中的main函數(shù)
Java同樣是以main函數(shù)作為程序執(zhí)行出入口的,但Java作為“更純潔”的面向?qū)ο笳Z(yǔ)言,它的main函數(shù)與C/C++有很大的不同。
首先,返回值的概念淡化,在Java Application中main不允許返回值,因此int main是被禁止的,必須使用void main,int main僅限在JavaBean中使用。
其次,Java中所有的函數(shù)必須屬于類(lèi),沒(méi)有什么全局函數(shù)一說(shuō),因此main函數(shù)不能是全局成員,必須是某個(gè)類(lèi)的成員。
第三,由于main函數(shù)變成了類(lèi)的成員函數(shù),因此要想直接被系統(tǒng)調(diào)用,還必須使用public static使其成為靜態(tài)函數(shù)并具有公開(kāi)權(quán)限。
第四,main函數(shù)的參數(shù)被簡(jiǎn)化,只需要提供字符串?dāng)?shù)組即可,不需要提供參數(shù)個(gè)數(shù)(這是由于Java的數(shù)組具有下標(biāo)檢查功能的原因)
Java Application中的main函數(shù)一般格式如下(類(lèi)名可以自定義,但保存為Java源碼時(shí),主文件名必須與類(lèi)名相同,否則可能無(wú)法運(yùn)行)
public class MainDemo { public static void main(String[] args) { //TODO:在此處寫(xiě)入主函數(shù)的內(nèi)容 } }
Java Applet的運(yùn)行機(jī)制與Java Application完全不同,因此不需要main函數(shù)
3.C#中的main函數(shù)
C#中的main函數(shù)與Java大同小異,同樣必須是類(lèi)成員,同樣使用字符串?dāng)?shù)組作唯 一參數(shù),同樣是靜態(tài)函數(shù),同樣的void main,與之不同的是:main的首字母變成了大寫(xiě),即"Main函數(shù)“,且是否限定為public級(jí)別已經(jīng)無(wú)所謂了(默認(rèn)沒(méi)有public,但某些場(chǎng)合可能還是需要public)
另外,需要注意的是,C#中不再有”類(lèi)名必須與主文件名同名“的限制,即使類(lèi)名不和主文件名相同,程序照樣可以運(yùn)行。
C#應(yīng)用程序中的main函數(shù)默認(rèn)是這樣的(注意main的首字母已是大寫(xiě))
C#和C/C++、java不同的是C#不在拘泥于必須從main()函數(shù)開(kāi)始執(zhí)行,C#是屬于事件觸發(fā)。
class Program { static void Main(string[] args) { //TODO:在此處寫(xiě)入主函數(shù)的內(nèi)容 } }
總之Java主函數(shù)很重要,是一個(gè)程序的入口,可以說(shuō)很多程序都是有主函數(shù)開(kāi)始的,沒(méi)有主函數(shù)程序就會(huì)運(yùn)行失敗哦,最后大家如果想要了解更多初識(shí)java知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。
本文鏈接:
本文章“java主函數(shù)如何定義?java主函數(shù)怎么應(yīng)用?”已幫助 76 人
免責(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)惠》課程開(kāi)班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢(xún)熱線:4008-569-579