【问题标题】:Why are java packages hierarchical? [duplicate]为什么java包是分层的? [复制]
【发布时间】:2021-08-09 23:50:15
【问题描述】:

例如,根据命名约定,包名为域; 'cambridge.edu.com' 将是 'com.edu.cambridge'。

创建 'com' 目录,然后创建 'edu' 子目录,然后创建 'cambridge' 子目录的目的是什么?

相反,我们可以将其设为“comeducambridge”一个目录并在其中包含类/接口?

【问题讨论】:

  • 我不知道也许有一个好理由,也许你能想到一个
  • 所以它只是为了可读性?
  • 这在C#、dart等其他语言中很常见。
  • 让我们反过来看:为什么不反过来写域?
  • Java 包本身不是分层的(如包com.example.x.y 不是包com.example.x 的一部分),只有命名约定及其在普通文件系统上的表示是分层的。

标签: java


【解决方案1】:

这只是一个命名约定。没有人真正关心,只要您确保世界上没有其他名称为 "comeducambridge.MyClass" 的课程。

如果您完全确定没有其他“mycoolcompany”,您可以只使用您公司的名称来调用它,例如“mycoolcompany”。即使有,除非这家公司编写java代码,否则你不会因为类名冲突而出现任何问题,当一些“幸运”用户会设法使用两个具有相同“mycoolcompany”的库包前缀。

使用 "net.mycoolcompany" 对我来说毫无意义,但也许如果您想让您的域受欢迎,您应该这样做。

只是不要调用你的包前缀“java.util”,它已经被占用了。

【讨论】:

    猜你喜欢
    • 2013-08-05
    • 2017-09-06
    • 2011-04-04
    • 2011-04-07
    • 1970-01-01
    • 2010-12-30
    • 2011-03-04
    相关资源
    最近更新 更多