我试图找到一个答案,这个在网上和我自己的一套知识,但我似乎无法找到一个明确的,明确的答复。
假设我只使用一个类从另一个包需要进口仅这一次,说myPack.anotherPackage.ClassName
。
有什么区别,如果有的话,使用import语句之间:
import myPack.anotherPackage.ClassName;
与使用一个完全合格的名称 :
myPack.anotherpackage.ClassName classInst = new myPack.anotherpackage.ClassName();
?
显然,如果这个问题只适用于ClassName
只使用一次。
import语句使你的代码更易读 ,因为你没有弄乱与完整包的代码。
在情况下,如果有一个冲突ClassNames
,那么只有在这种情况下最好是去完全合格的名称 。
没有,在我看来。 看看字节码 - 将有没有什么区别。
javap -c <your class>
1.它更多的readability
比的价值functional
的重要性。
2. import
语句提供一个cleaner code
比使用全包名称与沿 class
或interface
的名称。
3.但是,你必须导入哪些是暧昧像包中照顾。
`java.awt.List` and `java.util.List`
然后,你需要导入一个完全和一个全包的名字,像下面
import java.util.List;
and
java.awt.List l = new java.awt.List();
有代码被编译后没有什么区别。 在这两种情况下字节码将有完全合格的名称即类名合格的名称由编译器自动替换。 它只是为了让程序员的生活轻松,在这里我们没有写全名是指一类。
从我所知,没有差别。 唯一的区别是你的代码的详细程度。 一般来说,更详细就越难以阅读。 也许看字节码?
有没有真正的区别,尤其是对您的特定情况下,简单列举在这里。 见的Java:采用进口或明确的包/类的名字吗?
进口和包被用于命名和访问保护(默认),原因很简单,这是可以有很多类有相同的名称。
为了区分它们,我们需要给他们包下分离并在需要时导入。
有进口一类或直接键入完全合格的名字没有什么区别,但也有一些微小的差异。 1.最重要的,如果你导入所有的类级封装(即进口XYZ *;)的类仍然可以有例如命名问题,如果有在运行时你可能会使用错误的类多个进口一般。
- 在运行时,例如JDBC驱动程序注册在运行时动态加载类的情况下,你需要提供完整的类名作为参数,以便它可以动态加载。
在下面的最佳实践一般用途:1.不要使用进口ABC *; 进口的格式,并始终导入单个类(Eclipse或某些IDE可以自动校正进口*和需要禁用此)2.你必须使用完全合格的类名,当你已经导入类相同的名称,并希望使用另一个类在同一个程序同名。 3.希望它有助于:)