[toc] https://docs.oracle.com/javase/tutorial/java/concepts/package.html # Package 簡單講, 就是組織class/interface的結構, 基本上就是目錄(資料夾)。 妥善的存放class/interface在適當的package能保持組織性。 舉例: Test.java在`example/test`目錄中 意即: Test.java 位於`example.tests`這個package 此時, Test.java程式的最上面要寫: ```java package example.tests; ... ``` ## best practice 當有多個專案在同個JVM運行時, 假設A專案跟B專案的其中一個.java路徑完全相同, 在載入第二個.java時會報錯。 例如: projectA ``` test - Main.java ``` projectB ``` test - Hello.java - Main.java ``` 此時test/Main.java衝突了。 --- ## package 寫法 把專案的.java檔都放進去 "倒反域名.projectname" (請全部小寫) <!--(請他媽的給我全部小寫, 要不你可以滾了) --> 像是在 example.com (工作/開發) 的專案"test", package可以寫成```com.example.test``` (可以想像是資料夾 com/example/test/ ) ``` com/example/hello/Main.java com/example/hello/example/tests/Test.java (底下可能是其他專案。) org/bukkit/craftbukkit/Main.java net/minecraft/server/NetworkManager.java ```