黃階低級 - 《 Java 核心》- 4.7 包 - 修改0次

1、包

1、使用包的主要原因之一是確保類名的唯一性,相同的類名只要在不同的保=包內,就不會產生衝突。
2、建議把域名的逆序作爲包名
3、從編譯器的角度看,嵌套的包之間沒有任何關係。例如, java.util 包和 java.util.jar 包毫無關係,每一個都擁有獨立的類集合。

2、類的導入

1、一個類可以使用所屬包的所有類,以及其他包的公有類(如果這兩個包有兩個相同名字的公有類?搜到的答案是類的前面加上包名來區分)
2、類的導入有兩種,一種是在類前添加完整的包名,另一種是使用 import 語句。
3、建議使用 import 語句時以類爲單位進行引進,可以使代碼閱讀者明確知道加載了哪些類。
4、在包中定位類是編譯器的工作,類文件中的字節碼肯定使用完整地包名來引用其他類。
5、在 C++ 中,必須使用 #include 將外部特性的聲明加載進來,這是因爲 C++ 編譯器無法查看任何文件的內部,除了正在編譯的文件和頭文件中聲明包含的文件。而 Java 編譯器可以查看其他文件的內部,只要告訴它去哪裏找就可以了。
6、Java 的 package 和 import 類似於 C++ 的 namespace 和 using 指令。

3、靜態導入

!!! import 語句不僅可以導入類,還可以導入靜態方法和靜態域

import static java.lang.System.*;

public class Merge {
    public static void main(String[] args) {
        out.print("hello world !");// 輸出 hello world !
    }
}

4、將類放入包中

編譯器在編譯源文件的時候不檢查目錄結構,建設引入一個不存在的包,不會出現編譯錯誤,但程序無法運行。

5、包作用域

從 1.2 版本開始,JDK 的實現者修改了類加載器,禁止加載用戶自定義的、包名以 java. 開頭的的類!
包密封機制解決將各種包混在一起的問題,一旦一個包密封起來,就不能再添加新的類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章