------- android培训、java培训、期待与您交流! ----------
day10
56、异常处理语句:
注意:
1,finally中定义的通常是 关闭资源代码。因为资源必须释放。
2,finally只有一种情况不会执行。当执行到System.exit(0)时不会执行。
57、自定义异常:定义类 继承Exception或者RuntimeException
1,为了让该自定义类具备可抛性。
2,让该类具备操作异常的共性方法。
当要定义自定义异常的信息时,可以使用父类已经定义好的功能。将异常信息传递给父类的构造函数。例如:
class MyException extends Exception
{
MyException(String message)
{
super(message);
}
}
自定义异常就是按照java的面向对象思想,将程序中出现的特有问题进行封装。
58、异常的好处:
1,将问题进行封装。
2,将正常流程代码和问题处理代码相分离,方便于阅读。
59、异常的处理原则:
1,处理方式有两种:try 或者 throws。
2,调用到抛出异常的功能时,抛出几个就处理几个。一个try对应多个catch。
3,若有多个catch,则将父类的catch放到最下面。
4,catch内,需要定义针对性的处理方式。不要简单的定义printStackTrace,输出语句。也不要不写。
参阅:ExceptionTest.java 老师用电脑上课 ExceptionTest1.java 图形面积。
60、关于在子父类覆盖时异常的注意事项:
1,子类抛出的异常必须是父类的异常的子类或者子集。
2,如果父类或者接口没有异常抛出时,子类覆盖出现异常,只能try不能抛。
61、包(package):
注意:1,类名的全名是:包名.类名;
2,需要设置classpath,告诉jvm去哪里找指定的包
3,包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰。
4,不同包中的子类还可以直接访问父类中被protected权限修饰的成员。
5,包与包之间可以使用的权限只有两种,public protected。
6、建立定包名不要重复,可以使用url来完成定义,url是唯一的。
62、关于权限:被下面修饰符修饰后,成员是否可以访问
63、import 导入的是包中的类,简化了类名的书写。
建议:不要写通配符 * ,需要用到包中的哪个类,就导入哪个类。
一个程序中只有一个package,可以有多个import。
64、jar包:
jar -cfv 目标文件.jar 源文件
jar -xfv 目标文件.jar
切换到rt.jar所在目录,例如C:\Program Files\Java\jdk1.6.0_10\jre\lib,之后执行“jar -tf rt.jar > c:\rt.txt”可通过rt.txt文件查看rt.jar中的内容,即Java的类库。
编译工具所属类都在tools.jar包中。C:\Program Files\Java\jdk1.6.0_10\lib
本地方法区(native)中存放底层代码,看不到。
C:\Program Files\Java\jdk1.6.0_10\srz.zip中存放源代码。