使用Java的默认包是一种不好的做法吗?

2022-08-31 15:24:25

使用Java的默认包是一种不好的做法吗?


答案 1

是的,它是。理想情况下,包名称应全局唯一,以避免命名冲突。使用默认包会打破此约定。也不可能从默认包中导入类。

为什么存在未命名的包,如果这是一个坏主意?根据 JLS §7.4.2

未命名的包由 Java 平台提供,主要是为了方便开发小型或临时应用程序或刚开始开发时。


答案 2

在许多不同的层面上都存在问题:

  • 您无法从默认包中的类导入非
  • 如果您尝试在多个工件中解析默认包,则会遇到类加载问题
  • 您不能再像往常一样使用默认和受保护的范围
  • 您的代码和其他代码之间没有明显的区别