7.1 内部类
java支持在一个类中声明另一类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类
例如:某种类型的农村饲养了一种特殊种类的牛,但不希望其他农场饲养这种特殊种类的牛,那么这种类型的农场就可以创建这种特殊种牛的类作为自己的内部类
内部类的类体中不可用声明类变量和类方法。外嵌类的类体中可以使用内部类声明对象,作为外嵌类的成员
内部类的使用规则:
声明内部类如同在类中声明方法或变量一样,一个类把内部类看座是自己的成员
外嵌类的类体中可以用内部类声明的对象作为外嵌类的成员
外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法
内部类的类体中不可用声明类变量和方法
外嵌类和内部类在编译时,产生两个.class文件
7.2 匿名类
java允许我们直接使用一个类的子类的类体创建一个子类对象
1、和子类有关的匿名类
创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作匿名类
2、和接口有关的匿名类
假设computable是一个接口,那么,java允许直接用接口名和一个类体创建一个匿名对象,此类体被认为是实现了computable接口的类去掉类声明后的类体,称作匿名类
7.3 异常类
所谓异常就是程序在运行过程中可能出现的一些错误,比如试图打开一个根本不存在的文件等,异常处理将会改变程序的控制流程,让程序有机会对错误做出处理。程序运行出现异