java包和目录之间是否存在一对一的关系?

时间:2013-01-11 04:03:42

标签: java package directory netbeans-7

新学习java。任何人都可以清楚我的怀疑吗?

我的演示应用程序有这样的代码

  

SourcePackages ---> ex1.pkg1                  |                   --->食品

     
      
  1. 我的ex1.pkg1有一个名为Ex11的类,它包含主函数。
  2.   
  3. 我的食物包中包含一个抽象类水果和另一个类水果子类Apple。
  4.   
  5. 我正在Ex11类的主函数中创建一个Apple类实例。
  6.   

代码编译好,运行也很好。但我试图理解java中的目录结构。

当我运行程序时,我可以在build / class目录中看到以下文件夹

  
      
  1. ex1 - > pkg1 - > Ex11.class
  2.   
  3. 食物 - > Apple.class和fruit.class
  4.   
  5. 水果 - >空
  6.   

我不明白为什么创建目录水果虽然我没有任何名为fruit的包?即使我删除它并再次编译它没有创建。但是在我运行应用程序时创建。

额外信息 - 我正在使用netbean IDE

1 个答案:

答案 0 :(得分:2)

回答你的问题不完全是。您可以在不同的位置甚至在不同的jar中创建相同的目录结构(因此相同的包)。例如;你可以有目录CoreDomain \ com \ example和CoreServices \ com \ example。现在,这两个目录中的类将具有相同的包com.example,即使它们位于不同的目录中(但是相同的目录与ref。到起点;因为它们都在com.example中)