【发布时间】:2018-07-02 22:25:15
【问题描述】:
在带有 Eclipse 的 Java 中,您可以导入类并引用与您导入的内容相关的内容。但是,在.java 文件的顶部实际导入一个类与使用直接路径到您要使用的类之间有什么区别。 p>
例如,在这个 sn-p 中,我导入 java.util.HashMap 以使用 HashMap 变量。
import java.util.HashMap;
public class Main {
private static HashMap<String, String> foo = new HashMap<String, String>();
public static void main(String[] args) {
foo.put("foo", "bar");
System.out.println(foo.get("foo"));
}
}
与此示例相比,我在声明 HashMap 变量时在类中直接使用 java.util.HashMap。
public class Main {
private static java.util.HashMap<String, String> foo = new java.util.HashMap<String, String>();
public static void main(String[] args) {
foo.put("foo", "bar");
System.out.println(foo.get("foo"));
}
}
当我导入一个类(第一个示例)与我使用直接路径(第二个示例)时相比,Java 做了什么。此外,在优化和内存方面,一种方式客观地是否优于另一种方式?
我正在使用 Java 8 和 Eclipse。
【问题讨论】:
-
它们编译成相同的字节码。所以问题是——你觉得哪个更具可读性?
-
您要查找的术语是完全限定的类名,并且导入只在编译时起作用;一切都被解析为字节码中的完全限定引用。