Java基础4_2
一、异常
1、 异常是非致命的错误,我们可以用try…..catch语句或throws 异常的方法处理异常
(1) 用try…..catch语句包围可能发生异常的方法或类
(2) 可以在main方法中直接throws Exception 来骗过编译器,实际项目中不要这么使用
(3) 在可能发生异常的方法加上异常抛出,以后使用者使用你编写的类时就必须对异常进行处理。
(4) 所有的异常都是Exception的子类,所以我们可以使用Throwable中的方法,例如:getMessage()
因为Exception 继承自 Throwable
(5) 我们可以抛出多个异常类。例如:
(6) public int devide(int x,int y) throwsNullPointerException,ArithmeticException
{
int result1;
return result1 = x+y;
}
这时候异常类使用逗号隔开。
(7) try语句后面可以跟多个catch语句。
(8) 我们还可以使用try….catch语句来实现程序的跳转(这是一个小技巧)
(9) 在try….. catch语句后面跟上final{},不管程序有没有异常,final里面的语句都要执行,只有一种情况不执行,那就是在final{}之前调用System.exit(0);。
(10) 如果有一个父类派生了一个子类,父类有一个方法抛出多个异常,那么在子类中重写此方法时,那些异常类的子集,也就是说不能抛出新的异常
二、包(package)
1、 包是命名空间,加入加上包名后,编译完,字节码文件跟包名的文件层次是对应的
如果有package的话,package语句必须作为java源文件的第一条语句。
2、 使用命令javac –d . lesson4_2.java 将编译完成的文件放在当前目录下。
注意:同一包中的两个类不一定得在同一目录下,只要让classpath设置到类的目录的可以了
3、有了包名后不能到存放.class文件的上一层目录运行程序,即使在类名前面加上包名也不行
4、在实际开发中加上报名是个好习惯,这样可以避免你写的类名跟别人重复了。
5、报名不是拷文件的文件夹来指定的,二十通过在程序中加上package语句来指定的
6、不同包中的程序相互访问时,应使用import关键字导入要访问它包中的包类java默认情况下在每个创建的程序中导入了java.lang.*; (表示导入java.lang包中所有的类)
7、父包和子包没有任何关系
例如:import java.awt .*;和import java.awt .event.*;
8、package语句只能有一条
9、特别强调import java.awt.*;
*;和java .applet.*;中包含一个叫Date的类,加入在程序中这两条导入语句同时存在的话,使用Date类时,应该在其前面加上前缀,例如:java.awt.Date
三、java的访问控制
1、private修饰的方法只能在类中使用
2、不使用任何访问修饰符的方法(默认的方法)可以在同一个包中被访问
3、protected修饰的方法可以在不同包中的子类使用
4、public可以在不同包中的类使用
它们的访问权限如图所示:
四、java的命名习惯
五、jar命令的使用
例如:使用jar –cf . lesson4_1.jar org(org是源文件)这条命令来生成jar包
使用jar –xcf . lesson4_1.jar 来解压jar文件
使用jar –tcf . lesson4_1.jar来显示jar包中的文件
1、 说明:jar文件是一种压缩文件,可以用haozip等软件打开。
2、 注意事项:在D:、javawork/lesson4_1> 使用java –cvf lesson4 . jar lesson4_1/*和
D:/javawork > 使用java –cvf lesson4 . jar lesson4_1/*所生成的jar包里面的文件的层次结构是不一样的