重载Object.finalize()方法必须做到谨慎的处理一些系统资源。
在方法实现最后调用super.finalize()是被强力推荐的,因为这样上级实现也可以处理一些系统资源。
如下代码演示了这个规则:
protected void finalize() { // Non-Compliant
releaseSomeResources();
}
protected void finalize() {
super.finalize(); // Non-Compliant
releaseSomeResources();
}
protected void finalize() {
releaseSomeResources();
super.finalize(); // Compliant
}