【问题标题】:Java: Why does the package need to be written in every class [duplicate]Java:为什么需要在每个类中编写包[重复]
【发布时间】:2016-04-04 10:06:03
【问题描述】:

既然所有的 java 类文件都放在一个与 classes 包匹配的目录中,为什么每个类都需要在顶部声明包?编译器不应该能够从目录结构中获取包吗?

【问题讨论】:

  • 你的类可能在同一个包中,但在不同的目录下。
  • 编译器如何知道哪个目录是源代码树的根目录?
  • 这是一个非常有趣的问题,你要注意这一点!不过好像以前有人问过。
  • 这个问题有很多重复,也有很多好的答案。但我认为http://stackoverflow.com/a/17798226/3227510 解释得更好。
  • 我建议你使用 IDE。这样,它将为您添加 package 和 import 之类的内容。虽然添加包可能看起来多余,但它提供了一个额外的检查文件是否在正确的目录中。

标签: java


【解决方案1】:

因为源文件不需要位于相同的目录结构中。您可以(理论上,这没有多大意义)将所有源文件放在同一个目录中,并且在编译后它们最终会以正确的基于包的结构结束。

【讨论】:

    【解决方案2】:

    开发人员最好根据其功能区分或分组一组类。例如 - dao 包中的 DAO 类,服务包中的服务类等。

    好吧,在同一行 - 您也可以在一个类中编写程序的所有内容!

    【讨论】:

      猜你喜欢
      • 2011-01-22
      • 2011-01-09
      • 1970-01-01
      • 2018-03-05
      • 2020-08-21
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多