JAVA类 与类文件
在一個(gè).java文件中可以有多個(gè)同級(jí)類,??其修飾符只可以public/abstract/final/和無修飾符
1.public修飾的只能有一個(gè),且必須要與文件名相同:
因?yàn)閖vm虛擬機(jī)為了提高查找類的速度,使用import語句導(dǎo)入的時(shí)候,只會(huì)導(dǎo)入對(duì)應(yīng)空間的文件名所對(duì)應(yīng)的class文件,而public文件是大家都要使用的,因此直接導(dǎo)入這個(gè)類名對(duì)應(yīng)的class文件即可。
import com.by.comm.OpenFile;?
? ? ? ? ? ?com.by.comm 包名
? ? ? ? ? ?OpenFile 類文件名
OpenFile.open(System.in);
?OpenFile : 類名
open(System.in)方法名
以上也解釋了為什么會(huì)有靜態(tài)引用,靜態(tài)應(yīng)用直接引入所有類的靜態(tài)屬性、方法。后面可以直接使用,無須通過類名引用
2.若沒有public的則可與文件名不同
Java編譯器在編譯的時(shí)候,如果整個(gè)Java文件(編譯單元)都沒有public類(對(duì)外的公開接口類),類加載器子就無需從這方面直接去加載該編譯單元產(chǎn)生的所有的字節(jié)碼文件(.class文件),那么也就是無需去尋找編譯后字節(jié)碼文件存放位置。而類名和文件名一致是為了方便虛擬機(jī)在相應(yīng)的路徑中找到相應(yīng)的類所對(duì)應(yīng)的字節(jié)碼文件。所以在沒有public類的Java文件中,文件名和類名都沒什么聯(lián)系。
3.該文件同級(jí)的類之間可以互相調(diào)用,但是除了public的類,其他不能夠在其他文件調(diào)用
在一個(gè).java文件中由類/Enum/接口/Anontation其中至少一個(gè)類型組成。單獨(dú)一個(gè)方法/變量不能獨(dú)自存在與文件中,所以公用方法的封裝也是做成類方法。原因是java是類加載機(jī)制,需要編譯一個(gè)java文件成多個(gè)class文件,當(dāng)類來使用。
4.用javac 編譯這個(gè).java文件的時(shí)候,它會(huì)給每一個(gè)類生成一個(gè).class文件
?
-
總結(jié)
以上是生活随笔為你收集整理的JAVA类 与类文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java注解全面解析
- 下一篇: ORA-01114: 将块写入文件 35