- 对类文件进行分类管理
- 给类提供多层命名空间
- 写程序文件的第一行
- 类名的全称是 包名.类名
- 包也是一种封装形式
package pack;
class ABc{
}
//生成包并编译 .为当前目录
javac -d . ABc.java
java pack.ABc
// 制定目录生成 . 换成目录,但java 无法编译
set classpath=c:\myclass
java pack.ABc
不同包的类如何访问
- public 修饰包类,以及方法
- 类存在包中,范围增大了,需要public 修饰才能访问
- 不同包中的子类,可以访问父类中被 protected 权限修饰的成员
- 包与包之间可以使用的权限只有两种,public protected
||public|protected|defalut|private| |:--:|:--:|:--:|:--:| |同一类中|ok|ok|ok|ok| |同一包中|ok|ok|ok|| |子类|ok|ok||| |不同包中|ok|||||
子父类中,子类权限>=父类才能覆盖
一个 java 里面不能存放两个以上的 public 类
包由多层结构组成,当使用创建不同包对象,除了 包名.类 或者使用 import 关键字
import pack.类名;
// 导入后使用类名就行
import pack.*;
// 导入 pack 包中所有类;
import 建议不使用 * ,节省内存资源
当导入不同包中相同类,类名必须加 包名.类名
建议包名不要重复,可以使用 url 来完成定义,url 唯一
package cn.it.demo;
Jar 包
- Java 压缩包
- 方便项目的携带
- 方便使用,只要在 classpath 设置 jar 路径即可
- 数据库驱动, SHH 框架等都是以 jar 包体现的
jar.exe 生成 jar 包
jar -cf hahha.jar packa pack packb
// 生成jar -cvf 详细内容
//列出jar 所有目录名称 -tvf 生成详细内容
jar -tf hahha.jar
META-INF/
META-INF/MANIFEST.MF
packa/
packa/Abc.class
pack/
pack/MainClass.class
packb/
packb/Bbc.class
//运行 jar
set classpath=具体路径/xx.jar;
// classpath 后不加""
java pack.MainClass
//导出到 txt 文本信息
// 当 jar 文件信息过多情况下
jar -tf a.jar >c:\1.txt