Java包导入机制的研究与解析

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

posted on 2011-03-31 12:32  jiyizhen3721  阅读(162)  评论(0编辑  收藏  举报