为所有包导入一次Java类

比方说,我有以下结构:

  • src.main.java
    • 第一
      • one.java
      • two.java
      • three.java
    • 第二
      • alpha.java
      • beta.java
      • gamma.java

我希望first包中的所有类都可以在我的second包中的所有类中导入。

现在我只是为second包中的每个类指定:

 import first.*; 

我可以为包中的所有类导入一次吗?

不,它无法完成。

我不明白为什么会这么困难。

更好的解决方案是使用可以根据需要添加导入的IDE。

我还建议单独拼写每一个,而不是使用星号,即使你需要导入所有这些。 它更好地记录了您的意图,并且IDE可以使您对它透明。

不, 你不能用Java 做到这一点

您可能想到的一件事是将类从second包移到first包,这样您就不需要导入了。 但我明白,这并不总是可行/可取的。

我可以为包中的所有类导入一次吗?

不,你不能。 导入仅适用于声明它们的 源文件

也许我可以使用import语句创建一些超类,然后每次扩展它?

只有当子类中的代码根本没有提到外部类型的名称时才会这样做……这很难实现。

正如我所说,导入仅适用于声明它们的 源文件


实际上, import是故意设计的,以这种方式工作。 这个想法是让你轻松找出一个类名所引用的类。 (如果你不使用星级导入,效果最好…)