java中使用package包分割單個全局命名空間,保證無論有多少類,類名都不會沖突
- 一個.java文件內部有一個、而且只能有一個public類,類名必須與文件名完全一致。
- 在一個.java文件的開頭使用package關鍵字,作用是指出這個編譯單元屬于該package的一個庫的一部分。此時,所有的以該package開頭的.java和.class文件(編譯時,.java 文件中的每個類,都會生成一個.class)都會歸納到一起,都成為該package包內的類。
- 在調用該package包內的類時,必須用import關鍵字激活package內的名字,使它們能夠使用,另一個辦法則是指定完整的名稱(包名.類名)。
- 作為一名庫設計者,一定要記住package和import關鍵字允許我們做的事情就是分割單個全局命名空間,保證我們不會遇到名字的沖突——無論有多少人使用因特網,也無論多少人用Java 編寫自己的類。(這一保證的前提是,使用因特網域名創建自己的package名,因為域名肯定是獨一無二的)。
- 一個包可由多個.class文件構成,為避免局面混亂,將它們都置入單個目錄里。但可能往下又進行了分級,因此需要將.class文件的位置路徑編碼到package的名字里,才能找出那些可能深藏于目錄結構某處的類。
- 環境變量CLASSPATH作用是,java解釋器工作時,當遇到import語句,會從CLASSPATH為“根”目錄,從這里展開對.class文件的搜索。從那個根開始,解釋器會尋找包名,并將每個點號(句點)替換成一個斜杠,從而生成從CLASSPATH 根開始的一個路徑名。
- 同一個package包內,“友好的”(friendly)類成員可以直接被其他類訪問,這里“友好的”是不指定訪問指示符的成員。相對于private,默認的“友好”訪問已經是一種適當的隱藏方法,不必頻繁使用private關鍵字,然而private仍然有非常重要的用途,特別是在涉及多線程處理的時候。