【问题标题】:Why sub-package imports from parent package?为什么要从父包导入子包?
【发布时间】:2013-09-18 06:30:19
【问题描述】:

我正在 Netbeans 中创建一个 Java 项目。

我有一个名为MyPackage 的包。它有一个名为ClassA 的类。

我有两个 MyPackage 子包,分别是 MyPackage.PMyPackage.Q

MyPackage.P 有一个名为ClassB 的类。

问题是,如果我在ClassB 中创建ClassA 的对象,则会为ClassA 添加导入。

import MyPackage.ClassA;

ClassA 不是在父包中吗?为什么需要导入?

PS:问题是因为在我的大型项目中,如果这些导入,我大约有 10 个。

【问题讨论】:

  • 没有“子包”这样的东西......这些包,即使在文件系统中,它们在彼此下的文件夹中,也被认为是独立的......
  • 每个包都是独立的。没有根据包在树结构中的位置应用的特殊行为。

标签: java netbeans import package


【解决方案1】:

我有两个 MyPackage 子包,分别是 MyPackage.P 和 MyPackage.Q

现在这些不是MyPackage 的子包。它们只是不同的包,创建了一个完全不同的命名空间。包之间不存在父子关系。你可以说,他们只是在创建一个逻辑分组,仅此而已。它们将导致创建不同的目录。

【讨论】:

  • 实际上,存在一种父子关系,尽管父子关系是单向的。如果我有 MyPackage 和 MyPackage.Constants,那么我可以从 MyPackage 中的代码引用 Constants 子包,而无需进行导入,也不必完全限定包路径(例如,我可以写:int 圆周 = 2 * 半径 * Constants.PI ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-15
  • 2020-08-10
  • 1970-01-01
  • 2019-05-26
  • 1970-01-01
  • 2020-05-25
  • 2018-10-09
相关资源
最近更新 更多