一:包的基本概念及使用方法 【package】
1:为什么要用包?
如果有多人共同开发一个项目,避免相同路径下的文件覆盖,在不同文件夹下可以保存同名文件
2:定义包之后,实际上类的名称就是 包.类名称
3:编译方法:打包编译命令 -d . {生成文件夹 ,点 表示当前目录下}
javac - d . 类名
4:生成*.class文件后,访问已存在包的路径必须用完整的 包.类名【import】
二:包的导入
1: 定义:当一个包的class文件需要使用另外一个包的class文件时候需要导入命令
2: 两种语法:哪种性能高呢?性能一样,后者JVM帮助客户判定需要导入的类,不需的类,不会被加载
import 包名称.子包名称.类名称
import 包名称.子包名称.*
3:先编译什么?后编译什么?
如果需要被外包访问,需要用public class ,而且在一般开发中对于一个*.java文件中,往往都只定义个类:public class
4:注意事项:
a,c不同包的相同类[demo]:新的类需要同时导入a,c的相同类时,无法识别而报错怎么办?
解决方法用完整类名: 包.类名称
5:常见系统包:
java.lang
java.util (工具包)
java.sql
java.net
java.io
java.awt
6:静态导入 jdk 1.5之后新增功能
import static 包.类.*
包中全为静态方法
7:jar命令
*.class -------压缩成jar包
jar命令中的主要参数
."C" :创建新文档
"V":生成详细信息
"F":指定文档的文件名
1:先打包编译,javac -d . Hello.java
2:打成jar 包:jar-cvf my.jar org
一个jar包使用必须配置classpath路径
set classpath=.; ---.jar
使用jar中的类
当前所在文件夹所在目录和jar所在目录
jar -tvf my.jar
总结:
1:包可以将class文件分类,避免多人开发重名类
2:完整类名:包.类名称
3:不同包的同名类的调用:使用 包.类名称
4:jdk 1.5后提供静态导入,可以直接使用一个类的静态方法
5:如果一个包中全部类要交付用户使用,要将其打成jar包