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

San*_*Roy 2 java

它可能看起来,紧凑和具体,但指定每个必要的子类是耗时的,更需要记住它.

具体来说,import java.applet.*;&之间究竟有什么区别?import java.*;

And*_*ter 5

具体来说,import java.applet.*;&之间究竟有什么区别?import java.*;

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

请注意,包之间没有"子类"关系 - 包构成包层次结构,而不是类层次结构.使用通配符import(import package.*),将导入单个包中的所有类型,而不是整个包层次结构.特别是,import java.*不会导入java.applet或任何其他包装的下面java除了.

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