第1、只有一個public類:淺談爲何一個java源文件中只能有一個public類?
每一個編譯單元(文件)只能有一個public 類。這麼作的意思是,每一個編譯單元只能有一個公開的接口,而這個接口就由其public 類來表示。java
java程序的入口是main方法,因此被定爲public的這個類裏必定是含有main方法的類,並且該類的名稱要和文件名一致,由於虛擬機開始要找main的。(同個源文件有多個公共類,編譯器就找不到應該執行的main方法了)對象
你能夠根據須要,往這個文件裏面添加任意多個提供輔助功能的public 權限的類。可是若是這個編譯單元裏面有兩個或兩個以上的public 類的話,編譯器就會報錯。接口
在標準的java代碼編寫時,不管代碼量多少,最好一個源文件裏只有一個類或接口(接口也要單獨寫在一個源文件裏),由於JAVA是面向對象的語言,每一個類都是抽象的結果,因此每一個類都要單獨寫在一個源文件裏。內存
編譯單元裏面能夠沒有public 類,指的是沒有公開的接口,可是能夠在同一個包內訪問的;public的意思是在包內包外都可訪問。雖然這種狀況不常見,但倒是能夠的。這時,你就能隨意爲文件起名字了。編譯器
第2、 public 類的名字必須和這個編譯單元的文件名徹底相同,包括大小寫。