Java内部类与异常类

Posted Niro Einteson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

 

以上是关于Java内部类与异常类的主要内容,如果未能解决你的问题,请参考以下文章

20165318 2017-2018-2 《Java程序设计》第五周学习总结

java中异常类与类别

20165230 2017-2018-2 《Java程序设计》第5周学习总结

java 内部类与控制框架

java的内部类与匿名内部类

20175327 2018-2019-2 《Java程序设计》第6周学习总结