【问题标题】:Scope of "Import" in Java PackagesJava 包中“导入”的范围
【发布时间】:2021-10-26 17:13:44
【问题描述】:

我尝试在 Java 完整参考第 11 版中找到答案,但没有找到答案。我正在创建一个 Java 包。我使用 IntelliJ for IDE 和 MAVEN 作为构建工具。在该 Java 包中,有多个类。在每个班级中,我都有各种进口。例如,我有:

import java.util.*;

(i) 我是否正确,我需要在每个类的开头进行此导入,并且不能依赖于我将其导入包中的一个类的事实?

(ii) 如果是这样,MAVEN 是否会以某种方式避免重复导入?

(iii) 如果不是,那么这不会造成令人难以置信的内存效率低下吗?

【问题讨论】:

    标签: java import package


    【解决方案1】:

    import 语句适用于它所在的文件。这可能不止一个类,但在普通 Java 中,它只包含一个 顶级 类型。

    Maven 与import没有任何关系,这只是一个捷径,所以你不必说

    public java.util.Map<java.lang.String, com.example.app.model.Person>
    groupByDepartment(java.util.Collection<com.example.app.model.Person> people)
    

    Maven 只是确保下载并激活您需要的库 jar。

    导入不会“做”任何事情,除了让您使用类型(或成员,用于静态导入)的短名称。就这样。无论如何,编译器都会用全名替换它们。没有明显的内存开销,并且在运行时为零。

    【讨论】:

      猜你喜欢
      • 2019-08-21
      • 2022-08-03
      • 2011-03-07
      • 2021-04-30
      • 2012-04-22
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      相关资源
      最近更新 更多