第7章 内部类与异常类
7.1 内部类
Java支持在一个类中定义另一个类,这样的类称作内部类,而包括内部类的类称为内部类的外嵌类。
内部类和外嵌类之间的重要关系如下:
(1)内部类的外嵌类的成员变量在内部类中仍然成效,内部类中的方法也可以调用外嵌类中的方法。
(2)内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的声明。
(3)内部类仅供它的外嵌类使用,其他类不可以用某各类的内部类声明对象。
7.2 匿名类
匿名类有如下特点:
(1)匿名类可以继承父类的方法也可以重写父类的方法;
(2)使用匿名类的时候,必然是在某个类中直接用匿名类创建对象,因此匿名类一定是内部类;
(3)匿名类可以访问外嵌类中的成员变量和方法,匿名类的类体重不可以声明static成员变量和static方法;
(4)由于匿名类是一个子类,但没有类名,所以在用匿名类创建对象时,要直接使用父类的构造方法。
7.3 异常类
所谓异常就是程序运行时可能出现的一些错误。
Java使用try-catch语句来处理异常,将可能出现的异常操作放在try-catch语句的try部分,一旦try部分抛出异常对象,或调用某个可能抛出异常对象的方法,并且该方法抛出了异常对象,那么try部分将立刻结束执行,转向执行相应的catch部分。
7.4 断言
断言语句一般用于程序不准备通过捕获异常来处理的错误,例如,当发生某个错误时,要求程序必须立即停止执行。在调试代码阶段让断言语句发挥作用,这样就可以发现一些致命的错误,当程序正式运行时就可以关闭断言语句,但仍把断言语句保留在源代码中,如果以后应用程序又需要调试,可以重新启用断言语句。