Java学习笔记(包)

知识点总结于毕向东Java基础视频教程25天版本,侵权请联系删除。

包(package)

  • 对类文件进行分类管理。
  • 给类提供多层命名空间。
  • 写在程序文件的第一行。
  • 类名的全称的是:包名.类名。
  • 包也是一种封装形式。

classpath(在Dos命令行下的操作)

  • 给JVM提供的一个环境变量。
  • 指定类或者包所在的路径。
  • classpath变量值的最后有分号与无分号的区别。
    加上分号是在原有变量值上追加当前变量值,不加分号是重新设置为当前变量值。
  • 思考:在开发时,分号是否需要呢?
    不需要。在开发时,只需要设置特定的一个环境用来测试。

包与包之间的访问(在Dos命令行下操作)

  • 被访问的包中的类权限必须是public的。
  • 包与包之间可以使用对方成员的权限:public或者protected。
  • protected是为其他包中的子类提供的一种,被protected修饰的成员无法被其它包中的子类直接调用,必须先继承该方法的类。
访问修饰符publicprotecteddefaultprivate
同一类中OKOKOKOK
同一包中OKOKOKNO
子类OKOKNONO
其它类中OKNONONO

在当前java文件路径下Dos命令行下分别执行:
javac -d [存放包的路径] DemoA.java
javac -d [存放包的路径] PackageDemo.java

package packa; 

public class DemoA 
{
	public  void show()
	{
		System.out.println("demoa show run");	
	}
}
package pack;
class PackageDemo{
	public static void main(String[] args){
		packa.DemoA d =new packa.DemoA(); //类名的全名为:包名.类名,省略报名会报错
		d.show();
	}
}

执行后会出现以下错误:
在这里插入图片描述
出现原因:当前目录下没有packa这个包,而这个包正存放在我们之前给定的存放包的路径当中。
解决方式:需要设置classpath,告诉jvm去指定的路径找packa包。
在这里插入图片描述
设置完classpath后,再对PackageDemo.java再次进行编译即可。
(注意对类和需要调用的成员用public修饰)

结果:
在这里插入图片描述

classpath设置的目的,在于告诉Java执行环境,在哪些目录下可以找到你所要执行的Java程序所需要的类或者包。

不同包中的类的继承关系:
创建新包:

package packb;
public class DemoB 
{
	protected /*保护*/ void method() //只有被继承的类才能调用该方法,因为有protected修饰
	{
		System.out.println("demoB method run");
	}
}
package packa; 

public class DemoA extends packb.DemoB //继承
{
	public  void show()
	{
		System.out.println("demoa show run");
		method();
	}
}

输出结果:
在这里插入图片描述

导入import

当我们想要在不同的包中创建一个包的特定对象,考虑到包的多层次性(包中还有包),会出现XXX.YYY.ZZZ.Class package=new XXX.YYY.ZZZ.Class();的情况,为了简化类名的书写,就有了import关键字。

  • 简化类名的书写。
  • 一个程序文件中只有一个package,但可以有多个import。
  • import用来导包中的类,不导入包中的包。
    import packageA.*;代表导入packageA包中的类
    import packageA.packageZI.*;代表导入packageA包中的子包packageB中的类
  • 一般导入类时不建议用通配符"*",需要用到哪个类就导入哪个类,不然会占用内存。
  • 当导入的多个包中有重名的类时,这个类必须加上包名。
  • 建议定包名时不要重复,可以使用url来定义名称,因为域名是唯一的。

jar包

jar包就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法。

  • 方便项目的携带。
  • 方便于使用,只要在classpath设置jar路径即可。
  • 数据库驱动,SSH框架等都是以jar包体现的。

jar包的操作(通过jar.exe工具对jar的操作):
在Dos命令行下:

  • 创建jar包
    • jar -cvf mypack.jar packa packb
  • 查看jar包
    • jar -tvf mypack.jar [>定向文件]
  • 解压缩
    • jar -xvf mypack.jar
  • 自定义jar包的清单文件
    • jar –cvfm mypack.jar mf.txt packa packb
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值