为什么 java.lang.Object 中的 finalize() 方法受到“保护”?
出于好奇,
为什么该方法的访问修饰符显示为 .为什么不能呢?有人能解释一下这背后的具体原因吗?finalize()
protected
public
另外,我开始知道该方法只被调用一次。如果我在程序内部调用它两次,会发生什么情况?垃圾回收器会再次调用它吗?finalize()
private void dummyCall() {
try {
finalize();
finalize();
} catch (Throwable e) {
e.printStackTrace();//NOT REACHES EXCEPTION
}
}