【问题标题】:Import Java classes once for all package为所有包导入一次 Java 类
【发布时间】:2012-08-09 15:44:49
【问题描述】:

假设我有以下结构:

  • src.main.java
    • 第一
      • one.java
      • 两个.java
      • 三个.java
    • 第二
      • alpha.java
      • beta.java
      • gamma.java

我希望将 first 包中的所有类导入我的 second 包中的所有类中。

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

import first.*;

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

【问题讨论】:

  • 我看不到你真正想要做什么。为什么要在第二个包的每个类的开头去掉通配符导入?
  • @AlexandreDupriez 问题不是为什么。 :) 我问过这是否可能。我已经收到了答案,谢谢。

标签: java class import package project-structure


【解决方案1】:

不,不能这样做。

我不明白为什么会如此困难。

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

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

【讨论】:

    【解决方案2】:

    不,你不能这样做在 Java 中。

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

    【讨论】:

    • 谢谢。有时它可能会有所帮助。 :)
    【解决方案3】:

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

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

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

    这只有在子类中的代码根本没有提及外部类型的名称时才有效......这几乎是不可能的。

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


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

    【讨论】:

    • 也许我可以使用 import 语句创建一些 superclass,然后每次都创建 extend
    • 对不起,这太荒谬了。进行导入并克服它。
    • @duffymo 无需道歉。 :) 我只是问问。我知道以这种方式扩展是非常不可取的。
    • 导入仅适用于声明它们的源文件 ;)
    猜你喜欢
    • 2012-06-15
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 2021-12-03
    • 2015-08-06
    • 2012-03-18
    相关资源
    最近更新 更多