java中有两种包的导入机制, 总结如下: 关于这两种导入类型大家各有所爱, 单类型导入比较好理解, 仅仅导入一个public类或许接口。 而对于按需类型导入, 其实不然, 而仅仅导入当前类需求运用的类。 既然如此是不是就可以放心的运用按需类型导入呢?非也, 非也。 java编译器会从启动目录(bootstrap), 扩展目录(extension)和用户类路径下去定位需求导入的类, 而这些目录进仅仅是给出了类的顶层目录。 编译器的类文件定位办法大致可以理解为如下公式: 对于单类型导入很简单, 所以可以一次性查找定位。 对于按需类型导入则比较复杂, 然后对所有的能够性进行类文件查找定位。 例如: 当你的类文件中用到了File类, 那么能够呈现File类的中央如下 File\\File类属于无名包, 就是说File类没有package语句, 编译器会首先搜索无名包 需求注意的中央就是, io. File类之后并不会停止下一步的寻觅, 而要把所有的能够性都查找完以确定是否有类导入抵触。 假设此时的顶层路径有三个, 注意:如果在查找完成后, 那么就会报错。 要删除你不用的那个类, 然后再编译。 我们可以得出这样的结论:按需类型导入是绝对不会降低Java代码的执行效率的, 但会影响到Java代码的编译速度。 提高编译速度。
转载于:https://www.cnblogs.com/jiyizhen3721/archive/2011/03/31/2000844.html