Java_package和import机制

来源:互联网 发布:淘宝极速退款卖家拒签 编辑:程序博客网 时间:2024/06/11 05:50
本博文为子墨原创,转载请注明出处!
http://blog.csdn.net/zimo2013/article/details/8913389

1.package和import机制

    package就类似命名空间,解决类的冲突问题,便于管理。在使用了package的java文件编译为class文件中,可以获得该package信息,一旦使用该类,即在正确的包名下才有效。

    import即导入类,不可以总理解为:将该类加载至内存中!因为类加载器的预先载入机制,已经完成了常用类的Class字节码的实例对象(类加载器机制>>).import并没有实现加载至内存的功能,它只是一个路径。如果该类没有加载,加载器会在它的引导下,加载进内存!import机制可以简化编写程序代码复杂过程,在该java文件中需要使用的类通过import方式(其中包含lang包的默认导入),简化了编写代码,在编译过程中,会将该java文件中需要引用的类以完整路径展现,在编译后的class文件中,并不包含import信息!

2.package细节

    A.java使用了package com.baidu.app,在执行javac时,将会产生一个A.class文件,该class文件记录有package的包名信息
    (1).如果在编译的时候,没有指定编译目录,则默认将class文件存储于当前目录.该类不可以正常使用,因为该类在com.baidu.app包中才有效。

    (2).如果指定了目录DIR,则class文件存储于DIR目录下的com.baidu.app目录中。

 3.import导入方法

    (1).精确导入

import java.util.List;

    (2).按需导入

import java.util.*;//导入该包下在所有孩子类

    按需导入的区别(只在编译阶段

      1).编译速度,第二种不如第一种那么精准,可能花费的时间长些;

      2).可能会出现命名冲突

4.import static,导入所有静态成员

import static java.lang.*;//导入lang包下所有的静态成员,可以直接使用out.println("infomation");

java -verbose Demo.java
    使用verbose选项,可以了解编译和执行过程中JVM所做的每件事情!

 

原创粉丝点击