内部类:
外嵌类的成员在部内任有效,方法也可以调用外嵌类的方法。
不可以声明类变量和类方法。外嵌类的类体可以用内部类声明对象作为外嵌类成员。
仅供它的外嵌类使用。
不可以是static类。
匿名类:
可以重写,也可以继承父类方法。
必然是某个类中直接用匿名类创建对象,一定是内部类(遵守内部类规则):
borad.showMess(new OutputAlphabet(){ //()后开始重写OutputAlphabet类的方法
public void output() {
`````````````````````````} } );
是子类,但没有类名,所以用匿名类创建对象时,直接用父类的构造方法。
异常类:
try-catch
try{
包含可能发生异常的语句 }
catch(ExceptionSubClass1 e){
``````````````}
catch(ExceptionSubClass2 e){
``````````````}
分别处理发生的相应的异常。