java文件名與類名相同的原因是什么-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)java文件名與類名相同的原因是什么,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,西部信息服務(wù)器托管,西部信息服務(wù)器托管,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。

 因?yàn)椋?Java是被解釋執(zhí)行的。它在運(yùn)行時(shí)并不是將所有的class文件全都放到內(nèi)存中。而是在遇到import的時(shí)候才去相應(yīng)的文件目錄找相應(yīng)的class文件。

對于一個(gè)public類,它是可以被項(xiàng)目中任何一個(gè)類所引用的,只需在使用它前import一下它所對應(yīng)的class文件即可。將類名與文件名一一對應(yīng)就可以方便虛擬機(jī) 在相應(yīng)的路徑(包名)中找到相應(yīng)的類的信息。如果不這么做的話,就很難去找,而且開銷也會很大。

總結(jié):

一個(gè)源文件(.java)里,沒有用public修飾的類也可以和文件名一致。

一個(gè)源文件中可以存在類名和文件名不一致的情況,但不能用public修飾.

如果一個(gè)包內(nèi)不存在public修飾的類的話,那么我想這個(gè)包我覺得沒有什么意義,因?yàn)椴荒転椤笨蛻舫绦騿T”提供接口,即使沒有用public修飾的類里面含有public修飾了的靜態(tài)方法,”客戶程序員”也沒有權(quán)限訪問。

源文件沒有用public修飾的類主要是為public修飾的類”支撐”。

最好不要在一個(gè).java的源文件里寫很多的類.

main方法不一定要在public修飾了的類下才能執(zhí)行。但是main方法必須是public修飾的

《Thinking in Java》解釋:

為Java創(chuàng)建一個(gè)源碼文件的時(shí)候,它通常叫作一個(gè)“編輯單元”(有時(shí)也叫作“翻譯單元”)。每個(gè)編譯單元都必須有一個(gè)以.java結(jié)尾
的名字。而且在編譯單元的內(nèi)部,可以有一個(gè)公共(public)類,它必須擁有與文件相同的名字(包括大小寫形式,但排除.java文件擴(kuò)
展名)。如果不這樣做,編譯器就會報(bào)告出錯。每個(gè)編譯單元內(nèi)都只能有一個(gè) public類(同樣地,否則編譯器會報(bào)告出錯)。那個(gè)編譯
單元剩下的類(如果有的話)可在那個(gè)包外面的世界面前隱藏起來,因?yàn)樗鼈儾⒎恰肮病钡模ǚ莗ublic),而且它們由用于主public
類的“支撐”類組成。編譯一個(gè).java文件時(shí),我們會獲得一個(gè)名字完全相同的輸出文件;但對于.java文件中的每個(gè)類,它們都有一個(gè).
class擴(kuò)展名。因此,我們最終從少量的.java文件里有可能獲得數(shù)量眾多的.class文件。如以前用一種匯編語言寫過程序,那么可能已
習(xí)慣編譯器先分割出一種過渡形式(通常是一個(gè).obj文件),再用一個(gè)鏈接器將其與其他東西封裝到一起(生成一個(gè)可執(zhí)行文件),或
者與一個(gè)庫封裝到一起(生成一個(gè)庫)。但那并不是Java的工作方式。一個(gè)有效的程序就是一系列.class文件,它們可以封裝和壓縮到
一個(gè)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://bm7419.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)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營