在編寫 Java 程序時,隨著程序架構越來越大,類的個數也越來越多,這時就會發現管理程序中維護類名稱也是一件很麻煩的事,尤其是一些同名問題的發生。有時,開發人員還可能需要將處理同一方面的問題的類放在同一個目錄下,以便于管理。
為了解決上述問題,Java 引入了包(package)機制,提供了類的多層命名空間,用于解決類的命名沖突、類文件管理等問題。
包允許將類組合成較小的單元(類似文件夾),它基本上隱藏了類,并避免了名稱上的沖突。包允許在更廣泛的范圍內保護類、數據和方法。你可以在包內定義類,而在包外的代碼不能訪問該類。這使你的類相互之間有隱私,但不被其他世界所知。
包的 3 個作用如下:
- 區分相同名稱的類。
- 能夠較好地管理大量的類。
- 控制訪問范圍。
Java 中使用 package 語句定義包,package 語句應該放在源文件的第一行,在每個源文件中只能有一個包定義語句,并且 package 語句適用于所有類型(類、接口、枚舉和注釋)的文件。定義包語法格式如下:
package 包名;
Java 包的命名規則如下:
- 包名全部由小寫字母(多個單詞也全部小寫)。
- 如果包名包含多個層次,每個層次用“.”分割。
- 包名一般由倒置的域名開頭,比如 com.baidu,不要有 www。
- 自定義包不能 java 開頭。
包導入
如果使用不同包中的其它類,需要使用該類的全名(包名+類名)。代碼如下:
example.Test test = new example.Test();
其中,example 是包名,Test 是包中的類名,test 是類的對象。
為了簡化編程,Java 引入了 import 關鍵字,import 可以向某個 Java 文件中導入指定包層次下的某個類或全部類。import 語句位于 package 語句之后,類定義之前。一個 Java 源文件只能包含一個 package 語句,但可以包含多個 import 語句。
使用 import 導入單個類的語法格式如下:
import 包名+類名;
上面語句用于直接導入指定類,例如導入前面的 example.Test 類,代碼如下:
import example.Test;
使用 import 語句導入指定包下全部類的用法按如下:
import example.*;
上面 import 語句中的星號(*)只能代表類,不能代表包,表明導入 example 包下的所有類。

源自https://c.biancheng.net/view/6084.html
浙公網安備 33010602011771號