6 编程实践
6.1 @Override:始终使用
只要合法,方法就应标注 @Override
注解。这包括:类方法覆盖超类方法、类方法实现接口方法、接口方法重新声明超接口方法,以及记录组件的显式声明的访问器方法。
**例外:**当父方法标注了 @Deprecated 时,可以省略 @Override。
6.2 捕获的异常:不要忽略
在捕获异常后不做任何处理的做法极少是正确的。(典型的处理方式是记录日志,或者如果认为该异常”不可能”发生,则将其作为
AssertionError 重新抛出。)
当在 catch 块中确实不需要采取任何操作时,需要在注释中说明原因。
try {
int i = Integer.parseInt(response);
return handleNumericResponse(i);
} catch (NumberFormatException ok) {
// it's not numeric; that's fine, just continue
}
return handleTextResponse(response);6.3 静态成员:使用类名限定
当需要限定对静态类成员的引用时,应使用该类的类名进行限定,而不是使用该类类型的引用或表达式。
Foo aFoo = ...;
Foo.aStaticMethod(); // good
aFoo.aStaticMethod(); // bad
somethingThatYieldsAFoo().aStaticMethod(); // very bad6.4 终结方法(Finalizer):不要使用
不要覆盖
Object.finalize。终结支持已被计划移除。
Last updated on