内部类:内部类只能外嵌类用
外嵌类可以用内部类声明对象作为外嵌类的成员
内部类的类体中不能再声明类变量和类方法
.
.
.
.
匿名类:没有显示的声明一个子类,却又想用子类创建对象
假如Bank是一个类,下面就是用Bank的一个子类(匿名类)创建对象
new Bank(){
匿名类的类体
}
(1)匿名类必然是内部类
(2)匿名类可以继承和重写父类的方法
(3)匿名类可以访问外嵌类的成员变量和方法,匿名类的类体中不可以声明static成员变量和static方法。
(4)匿名类是子类,但没有类名,所以在用匿名类创建对象时,要直接使用父类的构造方法。
和接口有关的匿名类
new 接口名(){
实现接口的匿名类的类体
};
.
.
.
.
异常类
throw关键字抛出一个Exception子类的实例表示异常发生。
try{ 包含可能发生异常的语句
}catch(异常类:都是Exception的某个子类){
}
异常对象可以调用如下方法得到或输出有关异常的信息:
public String getMessage();//只获取异常信息的字符串(不含异常类型)
public void printStackTrace();//打印出异常类型和异常详细信息,并且显示异常在后台代码中出现的位置。
public String toString();获取异常类型和异常详细信息