Java_package和import机制
2013-05-11 07:53
218 查看
本博文为子墨原创,转载请注明出处!
http://blog.csdn.net/zimo2013/article/details/8913389
import即导入类,不可以总理解为:将该类加载至内存中!因为类加载器的预先载入机制,已经完成了常用类的Class字节码的实例对象(类加载器机制>>).import并没有实现加载至内存的功能,它只是一个路径。如果该类没有加载,加载器会在它的引导下,加载进内存!import机制可以简化编写程序代码复杂过程,在该java文件中需要使用的类通过import方式(其中包含lang包的默认导入),简化了编写代码,在编译过程中,会将该java文件中需要引用的类以完整路径展现,在编译后的class文件中,并不包含import信息!
(1).如果在编译的时候,没有指定编译目录,则默认将class文件存储于当前目录.该类不可以正常使用,因为该类在com.baidu.app包中才有效。
(2).如果指定了目录DIR,则class文件存储于DIR目录下的com.baidu.app目录中。
(2).按需导入
[b]按需导入的区别(只在编译阶段)[/b]
1).编译速度,第二种不如第一种那么精准,可能花费的时间长些;
2).可能会出现命名冲突
java -verbose Demo.java
使用verbose选项,可以了解编译和执行过程中JVM所做的每件事情!
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信息!
[b]2.package细节[/b]
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.*;//导入该包下在所有孩子类
[b]按需导入的区别(只在编译阶段)[/b]
1).编译速度,第二种不如第一种那么精准,可能花费的时间长些;
2).可能会出现命名冲突
4.import static,导入所有静态成员
import static java.lang.*;//导入lang包下所有的静态成员,可以直接使用out.println("infomation");
java -verbose Demo.java
使用verbose选项,可以了解编译和执行过程中JVM所做的每件事情!
相关文章推荐
- Java的package和import机制
- Java的package和import机制
- Java的package和import机制
- Java的package和import机制
- java的package和import机制
- java读取指定package下的所有class
- java package import
- Java 包(package)
- Java 包(package)的命名规范,Java 中 package 命名规则
- Java中private package protected public的权限解析
- Ubuntu11.10 12.04 安装JAVA JDK时出错:Package 'sun-java6-jdk' has no installation candidate
- java package 与 C++ 动态库的区别
- Java学习10——package和import
- Java中不带package的程序和带package的程序编译
- JAVA - package与import解析(一)
- java.lang.SecurityException: Unknown calling package name, com.google.android.gms.common.internal.zz
- Idea新建的maven项目不能创建package和java的class文件的问题
- Java中的包(package)
- Java, cmd下的坑... 之package环境问题
- cmd写java(含package)