Java SE-内部类、匿名类、异常类
内部类、匿名类、异常类
内部类
java支持在一个类里声明另一个类,这叫做内部类。
- 外嵌类的变量、方法都可以被内部类使用。
- 外嵌类可以声明一个内部类的对象作为自己的成员。
- 内部类仅供外嵌类使用,别的类无法声明其对象。
匿名类
匿名子类
若在函数func的(形式参数)里填上声明的父类对象,但是后面跟上{子类类体},则此时其实是传入其子类。此时使用的是父类构造方法,因此子类没有声明过,是一个匿名类。
showit(new 父类()
{
子类类体;
}
)
与接口相关的匿名类
若一个匿名类用一个接口的声明作为自己的声明,并且在类体中实现了接口的匿名方法,则此时该类也没有自己的声明,是一个匿名类。
showit(new 接口声明()
{
子类类体(实现接口的方法);
}
)
异常类
使用try-catch捕获异常。注意:
- try{}中代码如果出现异常会直接throw exception,异常之后的部分不会执行。
- 一个try后面可以跟多个
catch(Exception ...){}
,匹配不同异常。 - 在catch后面可以跟上finally{},表示运行到这里无论如何都执行。
- 多个catch里的exception不能有父子类关系!!
代码怎么写:
- 方法声明时就要声明有可能抛出的异常类:
throws ExceptionClassNme1,ExceptionClassname2
- 在可能会异常的地方后写
throw Excpetion对象