這篇文章將為大家詳細(xì)講解有關(guān)java文件名與類名相同的原因是什么,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
因?yàn)椋?Java是被解釋執(zhí)行的。它在運(yùn)行時并不是將所有的class文件全都放到內(nèi)存中。而是在遇到import的時候才去相應(yīng)的文件目錄找相應(yīng)的class文件。
對于一個public類,它是可以被項(xiàng)目中任何一個類所引用的,只需在使用它前import一下它所對應(yīng)的class文件即可。將類名與文件名一一對應(yīng)就可以方便虛擬機(jī) 在相應(yīng)的路徑(包名)中找到相應(yīng)的類的信息。如果不這么做的話,就很難去找,而且開銷也會很大。
總結(jié):
一個源文件(.java)里,沒有用public修飾的類也可以和文件名一致。
一個源文件中可以存在類名和文件名不一致的情況,但不能用public修飾.
如果一個包內(nèi)不存在public修飾的類的話,那么我想這個包我覺得沒有什么意義,因?yàn)椴荒転椤笨蛻舫绦騿T”提供接口,即使沒有用public修飾的類里面含有public修飾了的靜態(tài)方法,”客戶程序員”也沒有權(quán)限訪問。
源文件沒有用public修飾的類主要是為public修飾的類”支撐”。
最好不要在一個.java的源文件里寫很多的類.
main方法不一定要在public修飾了的類下才能執(zhí)行。但是main方法必須是public修飾的
《Thinking in Java》解釋:
為Java創(chuàng)建一個源碼文件的時候,它通常叫作一個“編輯單元”(有時也叫作“翻譯單元”)。每個編譯單元都必須有一個以.java結(jié)尾 的名字。而且在編譯單元的內(nèi)部,可以有一個公共(public)類,它必須擁有與文件相同的名字(包括大小寫形式,但排除.java文件擴(kuò) 展名)。如果不這樣做,編譯器就會報(bào)告出錯。每個編譯單元內(nèi)都只能有一個 public類(同樣地,否則編譯器會報(bào)告出錯)。那個編譯 單元剩下的類(如果有的話)可在那個包外面的世界面前隱藏起來,因?yàn)樗鼈儾⒎恰肮病钡模ǚ莗ublic),而且它們由用于主public 類的“支撐”類組成。編譯一個.java文件時,我們會獲得一個名字完全相同的輸出文件;但對于.java文件中的每個類,它們都有一個. class擴(kuò)展名。因此,我們最終從少量的.java文件里有可能獲得數(shù)量眾多的.class文件。如以前用一種匯編語言寫過程序,那么可能已 習(xí)慣編譯器先分割出一種過渡形式(通常是一個.obj文件),再用一個鏈接器將其與其他東西封裝到一起(生成一個可執(zhí)行文件),或 者與一個庫封裝到一起(生成一個庫)。但那并不是Java的工作方式。一個有效的程序就是一系列.class文件,它們可以封裝和壓縮到 一個JAR文件里(使用Java1.1提供的jar工具)。Java解釋器負(fù)責(zé)對這些文件的尋找、裝載和解釋(注釋①)。 ①:Java并沒有強(qiáng)制一定要使用解釋器。一些固有代碼的Java編譯器可生成單獨(dú)的可執(zhí)行文件。
關(guān)于java文件名與類名相同的原因是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當(dāng)前題目:java文件名與類名相同的原因是什么-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://aaarwkj.com/article22/geijc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、企業(yè)建站、商城網(wǎng)站、定制開發(fā)、定制網(wǎng)站、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容