Почему метод finalize () в java.lang.Object «защищен»?

Из любопытства,

Почемуfinalize() модификатор доступа метода сделан какprotected, Почему это не может бытьpublic? Может кто-нибудь объяснить мне какую-либо конкретную причину этого?

Кроме того, я узнал, чтоfinalize() метод вызывается только один раз. Если я вызову это дважды в своей программе, что происходит? Будет ли сборщик мусора вызывать это снова?

private void dummyCall() {
    try {
        finalize();
        finalize();
    } catch (Throwable e) {
        e.printStackTrace();//NOT REACHES EXCEPTION
    }
}

Ответы на вопрос(9)

Ваш ответ на вопрос