http://www.uml.org.cn/j2ee/201310124.asp
http://see.xidian.edu.cn/cpp/html/1752.html
http://www.w3cschool.cc/java/java-package.html
http://www.cnblogs.com/mengdd/archive/2012/12/27/2836412.html
环境变量:CLASSPATH, 指定javac, java,javadoc 查找类时的根路径
1 package xx.xx.xx 给本文件的所有类添加包名,包名需要和目录一一对应
会产生两个结果:
包名成为类名的一部分,正如我们前面讨论的一样(完全类名: 包名.类名)
包名必须与相应的字节码所在的目录结构相吻合(完全类名和目录相对应)
2javac 编译 源文件
javac HelloWorld.java
将输出的class文件放入当前文件夹,需要手动创建目录包,然后手动将class文件放到正确的目录包中
javac -d start_path HelloWorld.java
根据HelloWorld.java 中的package语句从start_path开始自动创建包目录,自动将输出文件class放入正确的目录包中
3 java 完全类名 (运行某个类)
java 只能接完全类名,它会从classpath指定的根路径开始,根据完全类名去解析目录,直到找到执行类
4 import xx.xx.xx (引入某个包[目录]中的类)
从CLASSPATH指定的根目录开始,解析包路径
注意: 如果某个类被packege了(打包了),那么运行它的时候需要用完全类名(包名+类名)
在别的文件中被引用时,也需要写全名,或者先用import导入它的包名
总结: package 用于给类增长名字(包名), class文件的位置要和它的名字一致
运行和引用的时候需要写全名,(因为包名和路径一直,所以全名的名字解析过程事实上是以CLASSPATH 为根路径的路径解析 过程),或者实现用import实现解析包名。