内部类
在一个类中声明另一个类
包含内部类的类称为内部类的外嵌类
- 内部类的类体不能声明类变量和类方法,在外嵌类的类体中可以用内部类声明对象作为外嵌类的成员
- 内部类的外嵌类的成员变量不可以声明类变量和类方法。在外嵌类的类体中可以调用外嵌类的成员
匿名类
子类去掉类声明后的类体
使用父类的构造方法,创建对象。
使用接口名和一个类体创建一个匿名对象。
异常类
- try-catch-finally语句
try{
}catch(ExceptionSubClass e){
}
- throw抛出异常对象,结束该方法执行
- throws声明要产生的多个异常,并在方法体中给出产生异常的操作
public void throwsTest() throws ExceptionClass1, ExceptionClass2 {...}
- 自定义异常一定是Throwable的子类
异常处理规则
不要过度使用异常:对于完全已知的错误应编写处理这种错误代码从而提高代码的健壮性,只有外部的、不能确定的和不可预知的运行时错误使是用异常,并且异常机制的效率低于正常的流程控制。
不要使用过于庞大的try块:过于庞大的try块业务也相对更复杂,会导致try块中异常的可能性大大增加,在分析发生异常的原因时难度增加。
避免使用Catch All语句:Catch All是catch(Throwable t),也会在发生异常是分析原因的复杂度增加。
不要忽略已捕获到的异常:对于捕获到的异常应该对其进行处理从而提高代码健壮性,而不是什么都不做或者只是打印跟踪栈信息。
断言语句
assert booleanExpression;(boolean型表达式)
assert booleanExpression:messageException