Java内部类与异常类
1 内部类 与 异常类
2 内部类: 在一个类的内部 声明另一个类->此类为内部类
3 外嵌类:包含内部类的类是外嵌类
4 关系:
5 内部类:可以 使用 外嵌类的成员变量
6 :可以 调用 外嵌类的 方法
7 :不可以 声明 类变量 和类方法 static
8 :作用是:仅供外嵌类 使用,其他的类不能使用
9 外嵌类:可以调用 内部类 声明对象 作为自己的 成员变量
10 java的成员:除了成员变量 和方法 还有内部类
11 内部类编译 生成 的 字节码文件 是:"外嵌类名字$内嵌类名字.class"
12 内部类 可以是static 修饰: static class B(){}内部类
13 可以使用A.B b=new A.B();
14 非内部类 不可用 使用static修饰
15
16
17 和类有关的匿名类:
18 匿名类: 一定是内部类
19 创建方式:父类的构造方法()和 匿名类类体
20 new A(){//相当于 A类的 子类 去掉 类声明 后 的类体,无名可用
21 匿名类 类体
22 }
23 匿名类的常用方法是:向方法的参数传值
24 匿名类:可以继承父类的方法,也可以重写父类的方法
25
26 和接口有关的匿名类:
27 创建方式: 接口名 和 类体 创建一个匿名对象
28 new 接口名 A(){//相当于实现 接口 的 类
29 实现接口 的匿名类 的 类体(:已经重写了接口的所有方法)
30 }
31 如:某个方法的参数 是接口类型,可以使用 匿名对象 传给这个方法
32
33 异常类:
34 使用try-catch 语句来处理异常
35 将可能出现异常的语句 放到try语句里面
36 一旦出现异常,try 立即结束 ,转向 catch部分,进行异常处理;
37 可以由多个catch进行捕获异常 进而处理 try-catch-catch-catch
38 catch 的 异常参数 都是Exception 的子类
39 catch 就是捕获 throw 方法抛出的异常
40 自定义异常类:
41 可以扩展 Exception 类 来定义 自己的异常类
42 方法在声明的时候 使用throws 关键字 来表明要传声的若干个异常
43 并在方法体中 :给出 具体的 产生异常的 操作
44 产生异常:用相应的异常类 创建对象,用throw 关键字 抛出该异常
45 例:自定义异常
46 public class 自定义异常类名字A extends Exception{
47 //自定义异常的 方法体
48 //自定义属性 :如
49 String name;
50 //自定义 异常方法
51 public 异常方法名字A_a(参数){
52 方法体
53 }
54 }
55
56 比如其他的类 的 实例方法 :可能 会抛出 自定义的 异常
57 类B :
58 public void 方法B_b(参数) throws 自定义异常类名字A{//throws只表明 可能会出现 异常
59 if(条件) {// throw 表明出现这个异常了 ,需要抛出 这个异常
60 throw new 异常方法名字A_a(参数);
61 }
62 }
63
64 finally语句
65 在执行try-catch语句后,无论是否发生异常,都会执行finally语句
66
67 说明:即使在try-catch语句中执行了return 语句,那么仍然会执行finally语句
68 如果在在try-catch语句中 退出了程序 不会执行 finally语句
69
70 断言语句assert:使用assert声明一条断言语句 assert Expression;