Java:import语句与完全限定名称?

Jon*_*tre 20 java import

我已经尝试在网上和我自己的知识中找到答案,但我似乎无法找到一个明确,明确的答案.

假设我只使用另一个包中的一个类,只需要导入一次,比如说myPack.anotherPackage.ClassName.

使用import语句之间有什么区别(如果有的话):

import myPack.anotherPackage.ClassName;
Run Code Online (Sandbox Code Playgroud)

与使用完全限定名称:

myPack.anotherpackage.ClassName classInst = new myPack.anotherpackage.ClassName();
Run Code Online (Sandbox Code Playgroud)

显然这个问题仅适用于ClassName仅使用一次的问题.

sun*_*dar 22

导入语句使您的代码更具可读性,因为您不会使用完整的包使代码混乱.

如果存在冲突ClassNames,那么只有在这种情况下才建议使用完全合格的名称.


Eug*_*ene 9

没有,在我看来.看看字节码 - 没有区别.

 javap -c <your class>
Run Code Online (Sandbox Code Playgroud)


Kum*_*tra 5

1.它更多的readability价值functional重要性。

2. import语句提供了一个cleaner code比使用完整的包名称以及 classinterface名称。

3.但是,在导入模棱两可的软件包时必须特别小心

  `java.awt.List` and `java.util.List`
Run Code Online (Sandbox Code Playgroud)

然后,您需要导入一个完整的文件和一个完整的软件包名称的文件,如下所示

import java.util.List;

and 

java.awt.List l = new java.awt.List();
Run Code Online (Sandbox Code Playgroud)

  • 我想说你需要完全导入_至多一个_。如果我觉得 FQN 可以使代码更具可读性,那么我已经对这两种方法使用了 FQN。例如,如果我有一个在“java.util.Date”和“java.sql.Date”之间进行转换的方法,我将完全限定两者,以便读者更清楚地了解发生了什么。 (2认同)