对类文件进行分类管理
给类提供多层命名空间写在程序文件代码的第一行,通过关键字package:
package pack;//包名所有的字母小写
此时编译需要加参数:javac -d . PackageDemo.java //-d:指定包所存放的目录,此处 .代表当前目录,也可以指定目录
好处:包可以让java的源文件和运行文件分离,没有必要给对方源文件
classpath指向包的父目录即可:set classpath=c\:myclass
不同包中的类之间的访问
- 类名的全名是包名.类名
- 需要设置classpath告诉jvm去哪里找指定的包
- 有了包,范围变大,一个包中的类要被访问,必须要有足够大的权限。所以被访问的类要被public修饰
- 类公有后,被访问的成员也要公有才可以被访问。包也是封装的一种形式。通过public对外提供访问权限。
- 包与包之间进行访问,被访问的包中的类以及类中的成员,需要用public修饰
- 不同包中的子类还可以直接访问父类中被protected权限修饰的成员
- 包与包之间可以使用的权限只有两种:public和protected
public class DemoA extends packb.DemoB//指定包和类
java中的四种权限
一个java文件里面不能出现两个以上的公有类或接口,只能将这两个公有类放在同一个包下
import关键字
为了简化类名的书写,使用一个关键字importimport导入的是包中的类,不导入子包
import heihei.hehe.DemoC;//导入heihei.hehe包中的DemoC类
import heihei.hehe.*//导入heihei.hehe包中所有的类
建议不要写通配符*,需要用到包中的哪个类,就导入哪个类。通过快捷键control+shift+o自动导入
导入不同包中的类重名时,必须在类前加包名
建议定义包名不要重复,可以定义url来定义(倒着写),因为url是唯一的:
www.itcast.cn
package cn.itcast.demo;
package cn.itcast.test;
jar包
Java的压缩包通过jar.exe来操作,在dos命令行中:
jar -cf haha.jar pack packa//-c:创建新的jar包,-f指定包名
jar -tf haha.jar//-t:查看包目录
jar -tf a.jar >c:\1.txt//将jar包中的信息存在1.txt文件中
此时要执行jar包中的class文件,要将classpath指向该jar包
set classpath=c:\myclass:\haha.jar
rt.jar是java的类库
native关键字标示本地方法(与操作系统相关)