Java之包的概念

包(package)

  • 对类文件进行管理
  • 给类提供多层命名空间
  • 写在程序文件的第一行
  • 包名通常可以用域名取反命名,以保证包名的唯一性,如com.baidu
  • 类名的全称是 包名.类名
  • 包也是一种封装形式

编译

javac -encoding UTF-8 -d 存放地址(.表示当前目录) 文件名

包之间的访问

  • 被访问的包中的类权限必须是public的
  • 类中的成员权限:public或者protected(保护)
  • protected是为其他包中的子类提供的一种权限

权限

在这里插入图片描述

import关键字

导入包中的类
简化类名,创建其他包中的对象时,不用每次都去写包名
写法:import 包.包.类
如果包中的大部分类都需要使用,可以使用以下方法引入
写法:import 包.包.*

Jar包

Java的压缩包
作用

  • 方便项目的携带
  • 方便于使用,只要在classpath设置jar路径即可(如set classpath=d:aaa/mypack.jar;),给jvm提供一个环境变量
  • 数据库驱动,SSH框架等都是以jar包体现的

jar包的操作
通过jar.exe工具对jar的操作。
在这里插入图片描述

  • 创建jar包
jar -cvf mypack.jar packa packb

在这里插入图片描述

  • 查看jar包
jar -tvf mypack.jar [>定向文件(如d:aaa.txt)]

在这里插入图片描述

  • 解压缩
jar -xvf mypack.jar
  • 自定义jar包的清单文件
jar –cvfm mypack.jar mf.txt packa packb

代码示例

目录结构

|--packa
	|--PackA.class
|--packc
	|--PackC.class
PackA.java
PackB.java
PackB.class
PackC.java

PackA.java

package packa;//包名,需要放在代码第一行
public class PackA{//需要用public修饰,放大权限,否则外部无法访问
	protected void show(){//保护,其他包中的类无法访问,子类除外
		System.out.println("hello package");
	}
}

PackB.java

import packc.PackC;//引入包中的类
class PackB{
	public static void main(String[] args) {
		// packa.PackA a = new packa.PackA();//如果没有引入类,需要 包名.类名 来使用
		// a.show();
		PackC c = new PackC();//创建对象,需要带上包名
		c.method();
	}
}

PackC.java

package packc;
import packa.PackA;//引入包中的类
public class PackC extends PackA{//不同包中的类可以实现继承
	public void method(){
		System.out.println("method run");
		show();//使用父类方法
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值