簡體   English   中英

如何在Java中正確組織和嵌套軟件包

[英]How to properly organize and nest packages in Java

如果要使用以下方法,請遵循Java教程的軟件包命名約定:

org.example.hyphenated_name.user

org.example.hyphenated_name.product

這將如何轉換為實際創建此包結構。 我會為org創建一個單獨的軟件包,然后在org內創建example ,依此類推,還是僅兩個軟件包org.example.hyphenated_name.userorg.example.hyphenated_name.product

基本上我想知道的是. 僅用於命名分隔,或者用於表示每次物理創建新軟件包。

這是它在磁盤驅動器上的物理外觀:

$ mkdir -p org/example/hyphenated/name/user 
$ mkdir -p org/example/hyphenated/name/product
$ tree org
org
└── example
    └── hyphenated
        └── name
            ├── product
            └── user

5 directories, 0 files

因此,實際上,您具有一個包結構:

  • 組織
  • org.example
  • org.example.hyphenated
  • org.example.hyphenated.name
  • org.example.hyphenated.name.product
  • org.example.hyphenated.name.user

通過創建這樣的結構,您現在可以將每個程序包用於不同的操作。 org.example.hyphenated.name.product特定於產品的操作類和org.example.hyphenated.name.product特定於用戶的org.example.hyphenated.name.user package 這樣,您也可以將同時使用這兩個包的類放在org.example.hyphenated包中。 這樣,您就可以創建一個構建良好的應用程序結構,其他人(以及2-3個月內)更易於閱讀。

編輯:通常,您不需要關心為軟件包創建文件夾,因為您的IDE應該代替您來處理。

包不是必須創建的“東西”(除了通常必須創建用於存儲源文件的目錄層次結構之外)。 您幾乎只是說您的類屬於某個程序包,而編譯器會說“好,隨便什么”。 package_a.package_bpackage_a.package_b.package_c之間不存在對語言語義有任何影響的內置關系。 (我的意思是,如果您在package_a.package_b.package.c有一個類,那么在該類中,關於package_a.package_b中的類沒有什么特別的,而不是package_z.package_y 。在這兩種情況下,只是“其他包裝”。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM