我們?cè)诔鯇W(xué)Java語(yǔ)言的時(shí)候,老師給我們講的第一個(gè)例子往往是用記事本編寫打印“Hello World”的程序。當(dāng)寫完程序后,老師一般都會(huì)要求我們把源文件的名稱命名為與類名相同,比如,類的名稱叫A,那么源文件的名稱也叫A。很多同學(xué)按老師的要求做了,也成功的運(yùn)行出了“Hello World”。沒按老師要求做的,可能連編譯都無法成功。于是很多初學(xué)者都認(rèn)為,Java程序的源文件名必須與類名相同,那么真實(shí)情況到底是不是這樣呢?我們慢慢道來。
Java程序的源文件名與類名之間存在如下關(guān)系:
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),英吉沙網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:英吉沙等地區(qū)。英吉沙做網(wǎng)站價(jià)格咨詢:028-86922220
根據(jù)以上規(guī)則,我們就明白了:當(dāng)年老師讓我們把源文件命名為與類名相同的名稱,其實(shí)是因?yàn)槲覀兯x的那個(gè)類前面有個(gè)public關(guān)鍵字。接下來我們深入研究一下幾種特殊情況:
源文件中如果沒有public所修飾的類,源文件該如何命名
這個(gè)問題其實(shí)很簡(jiǎn)單,如果源文件中沒有任何一個(gè)類被public關(guān)鍵字所修飾,那么我們可以用任意名稱來命名這個(gè)源文件,只要源文件的名稱符合命名規(guī)范就可以了。
一個(gè)源文件中如果定義了多個(gè)類,編譯之后會(huì)形成幾個(gè).class文件
大家看下圖,我們?cè)谝粋€(gè)源文件當(dāng)中定義了3個(gè)類,那么編譯之后會(huì)產(chǎn)生多少個(gè).class文件呢?經(jīng)過編譯之后,一共產(chǎn)生了3個(gè).class文件。并且這3個(gè).class文件的名稱恰好與源文件中3個(gè)類的類名相對(duì)應(yīng)。
通過這個(gè)實(shí)驗(yàn)我們就可以得到一個(gè)結(jié)論:源文件與編譯后的字節(jié)碼文件的名稱和數(shù)量其實(shí)沒有一一對(duì)應(yīng)關(guān)系,字節(jié)碼文件的名稱和數(shù)量其實(shí)是由源文件中類的名稱和數(shù)量決定的。
主方法必須定義在public類當(dāng)中嗎
有一種說法,認(rèn)為主方法必須被定義到public類當(dāng)中才能運(yùn)行,其實(shí)這也是一種訛傳。大家看圖1,圖1當(dāng)中主方法并沒有被定義到public類當(dāng)中,但是我們照樣能通過相應(yīng)的命令執(zhí)行這個(gè)主方法
通過這篇小短文,我想初學(xué)Java的朋友能夠徹底弄清楚Java源文件名、字節(jié)碼文件名以及類名三者之間的關(guān)系了吧?
如果希望系統(tǒng)學(xué)習(xí)Java語(yǔ)言,可以點(diǎn)擊這里觀看我的視頻課程,有問題也可以加入我的QQ群291839907一起討論!
分享標(biāo)題:Java千問:源文件名稱必須與類名相同嗎?
網(wǎng)站路徑:http://chinadenli.net/article0/ppssoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、網(wǎng)站收錄、網(wǎng)頁(yè)設(shè)計(jì)公司、用戶體驗(yàn)、面包屑導(dǎo)航、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)