内部类、异常知识点总结

一、内部类
1、内部类类别:
1)成员内部类: 在一个类的成员位置定义另外一个类,那么另外 一个 类就称作为成员内部类。
a)成员内部类的访问方式:
方式1: 在外部类内提供一个方法创建内部类的对象进行访问。
方式2: 在其他类创建内部类的对象进行访问。
创建的格式: 外部类.内部类 变量名 = new 外部类().new 内部类();
注意:如果是静态内部类在其他类的创建对象方式:
外部类.内部类 变量名= new 外部类.内部类();

b)成员内部类要注意的事项:
Ⅰ、成员内部类可以直接访问外部类成员。
Ⅱ、如果成员内部类与外部类存在同名的成员,在内部类中默认是访问内部类的成员。但成员通过外部类.this.成员指定访问外部类的成员。
Ⅲ、如果成员内部类出现了静态的成员,那么该成员内部类也必须使用static修饰。
Ⅳ、如果成员内部类是私有的,那么创建内部类的对象就只能在外部类提供方法创建。

2)局部内部类 : 在一个类的方法内部定义另外一个类, 另外一个类就称作为局部内部类。
注意:如果局部内部类访问了局部变量,那么该变量需要使用fianl修饰。 (原因: 因为生命周期不一致,所以内部类访问局部变量其实是一个复制品。)

3)匿名内部类 : 没有类名的类。
a)匿名内部类的好处: 简化书写。
b)匿名内部类的使用前提: 必须存在继承或者实现关系。
c)匿名内部类的格式:

new 父类(父接口){
    匿名内部类的成员;
};

二、异常:
1、异常的体系:
———|Throwable
————–| Error (错误) 错误一般是由于jvm或者是硬件引发的问题,所以我们一般都不会通过代码去处理。
————–| Exception (异常) 异常我们一般都会通过代码去处理的。

2、异常的处理方式
方式一:捕获处理
1)捕获处理的格式:

try{
    可能发生异常的代码
}catch(捕获的异常类型  变量名){
    处理异常的代码
}

2)捕获处理要注意的细节:
a)如果一个try块中出现了异常的代码,经过处理之后,那么try-catch块外面的代码可以正常执行。
b)如果一个try块中出现了异常的代码,那么在try块中出现异常的代码后面 的语句无法执行。
c)一个try块后面可以跟多个catch块,也就是一个try块可以捕获多种异常的类型,但是捕获的异常类型必须从小到大进行捕获。

方式二:抛出处理(throw throws)
1)抛出处理要注意的细节:
a)如果一个方法内部抛出了一个编译时异常对象,那么该方法必须要声明抛出。
b)如果调用了一个声明抛出编译时异常的方法,那么调用者必须要处理。
c)如果一个方法抛出了一个异常对象,那么该方法也会马上停止(一个方法遇到了throw关键字,那么该方法就会马上停止)
d)在一种情况下只能抛出一种异常对象。

2)**throw和throws的区别:**throw 关键字是用于方法体之内抛出异常对象 的,throws是用于方法声明上声明抛出异常类型的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值