20175211 2017-2018-2 《Java程序设计》第六周学习记录
[TOC]
《Java 2实用教程》第七章 内部类和异常类
7.1 内部类
- 内部类的外嵌类的成员变量在内部类中依然有效,内部类中的方法也可以调用外嵌类中的方法
- 内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员
- 内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象。
- 非内部类不可以是静态类
7.2 匿名类
- 匿名类可以继承父类的方法也可以重写父类的方法
- 使用匿名类时,必然是在某个类中直接使用匿名类创建对象,因此匿名类一定是内部类
- 匿名类可以访问外嵌类中的成员变量和方法,匿名类的类体中不可以声明static成员变量和static方法
- 由于匿名类是一个子类,但没有类名,所以在用匿名类创建对象时,要直接使用父类中的构造方法
7.3 异常类
- 异常对象可以调用如下方法得到或输出有关异常的信息
public String getMessage();
public void printStackTrace();
public String toString();
try-catch-finally用法
- 在执行try-catch语句后,执行finally子语句,也就是说,无论在try部分是否发生过异常,finally子语句都会被执行
- 如果在try-catch语句中执行了return语句,那么finally语句仍然会被执行。
- try-catch语句中执行了程序退出代码,即执行System.exit(0),则不执行finally子语句。
一个方法可以在声明时使用throws关键字声明要产生的若干个异常
断言
- 使用关键字assert声明一条断言语句
assert booleanExpression;
assert booleanExpression:messageException;
- 调试程序时可以使用
-ea
启用断言语句
参考资料
《Java 2 实用教程》
《JDK 6.0 Documentation》