- 1.
列表内容
包:
为了避免名称冲突c++设计了namespace,而Java则有了新的设计“包”。
包的作用:
- 可以分门别类的组织代码,可以更好的组织大型系统
- 避免名称空间
- 包也有访问权限,可以更好的设计接口
关键字 package
package packA;//必须在程序的第一行
class A{
public static void main(String[]argc) {
System.out.println("A");
packB.B.show();//需要用报名前缀应用 jre会去./packB/中找B.class
}
}
package packB;
public class B{
static public void show()
{
System.out.println("B::show()");
}
}
编译类A 会生成文件夹packA, A.class在 packA/A.class
因为文件系统中文件地址都是独一无二的,所以包系统会对应文件系统。
会生成相应的目录。
默认包:路径在 ./ 也就是工程中的root目录,默认包不能访问默认包的类。
权限:
public protected default private
同一类中 ok ok ok ok
同一包中 ok ok ok
同一包子类 ok ok ok
不同包子类 ok ok
不同包中 ok
导包:为了简化书写 不用xx.xx.xx.xx.xx.xx.classname
import 导入包中的类
import xx.yy.classname //导入1个类
import xx.yy.* //导入 ./xx/yy/下的所有类
import xx.yy //不合法 import导入类 不导入包
jar包:
jar工具可以将包打成jar包,jar包就是一种压缩包像zip rar一样。
命令行:jar -cvf A.jar packA //A.jar输出文件 packA输入文件
引用jar包命令行:
set classname=A.jar
jar packA.classname