201711671118《Java程序设计》第七章总结

7.1内部类

①类除了可以有成员变量和方法外,还可以拥有一种成员:内部类。

②在一个类中定义另一个类,这样的类称为内部类,包含内部类的类称为内部类的外嵌类。

③内部类和外嵌类的关系:

外嵌类的成员变量在内部类仍然有效,内部类中的方法也可以调用外嵌类中的方法。

内部类的类体中不可以声明类变量和类方法。

外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。

内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象。

④内部类对应的字节码文件的名字格式是“’外嵌类名$内部类名”

⑤内部类可以被修饰为static内部类,static内部类是外嵌类中的一种静态数据类型,这样一来,程序就可以在其他类中使用static内部类来创建对象。但是static内部类不能操作外嵌类的实例成员变量。

⑥非内部类不可以是static类。

7.2 匿名类

①JAVA允许直接使用一个类的子类的类体创建一个子类对象,创建子类对象时,除了使用父类的构造方法外还有子类去掉类声明后的类体,称为匿名类。

②匿名类特点:

匿名类可以继承父类的方法也可以重写父类的方法。

匿名类一定是内部类。

匿名类可以访问外嵌类中的成员变量和方法,匿名类的类体不可以声明static成员变量和方法。

③JAVA允许直接用接口名和应该类体创建一个匿名对象,类体被认为是实现接口的类去掉类声明后的类体,被称为匿名类。

7.3 异常类

①JAVA使用throw关键字抛出一个Exception子类的实例来表示异常发生。

②允许方法调用过程中抛出异常对象,终止当前方法的继续执行。

③使用try-catch语句来处理异常。将可能出现异常的操作方法放入try语句中,一旦try部分抛出异常对象,或调用某个可能抛出异常对象的方法,并且该方法抛出异常对象,那么try部分将立刻结束执行。,转向执行相应的catch语句。

④可以扩展Exception类定义自己的异常类,然后根据程序的需要来规定哪些方法产生这样的异常。一个方法在声明时可以使用throws关键字声明要产生的若干个异常,并在该方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象,导致该方法结束执行。     

7.4 断言

①断言语句一般用于不准备通过捕获异常来处理的错误,例如,当发生某个错误时,要求程序必须立即停止执行。

②使用关键字assert声明一条断言语句,有两种格式

assert booleanExpression;

assert booleanExpression: messageException;(值是false时,程序停止执行,输出 messageException表达式的值。

7.5 finally语句

语法格式:

try();

catch(ExceptionSubClass e){}

finally{}

执行机制:在执行try-catch语句后,执行finally语句(无论try是否异常都执行)。

特殊情况:

①如果try-catch语句中执行return语句,那么finally语句还会被执行。

②try-catch语句中执行了System.exit(0); ,则不执行finally语句。

猜你喜欢

转载自blog.csdn.net/rumple49/article/details/83819534