好奇心から、
finalize()
メソッドのアクセス修飾子がとして作成されるのはなぜですかprotected
。なぜできないのpublic
ですか?誰かが私にこれの背後にある特定の理由を説明できますか?
finalize()
また、メソッドが一度だけ呼び出されることを知りました。プログラム内で2回呼び出すと、どうなりますか?ガベージコレクターはこれを再度呼び出しますか?
private void dummyCall() {
try {
finalize();
finalize();
} catch (Throwable e) {
e.printStackTrace();//NOT REACHES EXCEPTION
}
}