1. 程式人生 > >2.2 Java中的包(package)

2.2 Java中的包(package)

為了更好地組織類,Java 提供了包機制,用於區別類名的名稱空間。
包的作用

  • 1、把功能相似或相關的類或介面組織在同一個包中,方便類的查詢和使用。
  • 2、如同資料夾一樣,包也採用了樹形目錄的儲存方式。同一個包中的類名字是不同的,不同的包中的類的名字是可以相同的,當同時呼叫兩個不同包中相同類名的類時,應該加上包名加以區別。因此,包可以避免名字衝突。
  • 3、包也限定了訪問許可權,擁有包訪問許可權的類才能訪問某個包中的類。
    語法
    package pkg1[.pkg2[.pkg3…]];
    包宣告應該在原始檔的第一行,每個原始檔只能有一個包宣告,這個檔案中的每個型別都應用於它
    包的命名
  • 全部小寫
  • 一般為公司域名倒序,如 com.baidu.util
  • 通常為{公司域名倒序}.{專案名}.{模組名}.{功能名} 如 com.daydaycome.user.createorder;

C#中的名稱空間一般預設與程式集的名稱一致,如果類檔案在資料夾裡面,則會按照{程式集名稱}.{目錄1}.{目錄2}…,但是一般命名採用Pascal命名法:即單詞首字母都大寫。
通常為{公司名縮寫}.{專案名}.{模組名} 如 Dcms.HR.Employee

java包與C#的名稱空間

初接觸java中的包,首先想到C#中的名稱空間與其類比,但是又不完全一樣。
java中的包按照物理目錄結構定義和儲存,而C#中的名稱空間只是一個邏輯結構,雖然通常也按照目錄層次來命名,但這不是必須的。

java中的jar包與C#中的類庫

理解的還不夠深入,目前就說說體會吧。java中的jar包算是對類的打包之後的物理結構,和C#中的類庫編譯之後的程式集類似,但是C#中的名稱空間是可以跨越程式集的,不知道java中的包是否可以跨越jar包,留待日後驗證吧

https://www.cnblogs.com/diegodu/p/5834251.html
http://www.runoob.com/java/java-package.html