[英]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.user
和org.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.hyphenated.name.product
特定於產品的操作類和org.example.hyphenated.name.product
特定於用戶的org.example.hyphenated.name.user package
。 這樣,您也可以將同時使用這兩個包的類放在org.example.hyphenated
包中。 這樣,您就可以創建一個構建良好的應用程序結構,其他人(以及2-3個月內)更易於閱讀。
編輯:通常,您不需要關心為軟件包創建文件夾,因為您的IDE應該代替您來處理。
包不是必須創建的“東西”(除了通常必須創建用於存儲源文件的目錄層次結構之外)。 您幾乎只是說您的類屬於某個程序包,而編譯器會說“好,隨便什么”。 package_a.package_b
和package_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.