一次导入一个类的所有子类是不好的做法吗?

时间:2016-03-29 10:29:35

标签: java

看起来似乎是紧凑的&具体但指定每个必要的子类是耗时的,需要记住更多。

具体而言,import java.applet.*;与...之间的区别究竟是什么? import java.*;

1 个答案:

答案 0 :(得分:5)

  

具体而言,import java.applet.*;与...之间的区别究竟是什么? import java.*;

第一次导入使java.applet包中的所有类型(类,接口,枚举)对编译器可见,而第二次导入使java包中的所有类型都可见。

请注意,包之间没有“子类”关系 - 包构成包层次结构,而不是类层次结构。使用通配符导入(import package.*)时,将导入单个包中的所有类型,而不是整个包层次结构。特别是,import java.*此外还会导入java.appletjava以下的任何其他包。

顺便说一下,你应该避免使用通配符导入,因为它们会污染你的名字空间,并且当不同的包中存在相同的类型名称时,可能会导致命名冲突。今天大多数IDE自动组织导入(半),因此不需要使用通配符导入。