«Сегодня я узнал, что final - это ключевое слово, finally - это блок, а finalize - это метод».

Финал

В Java ключевое слово final имеет разный эффект в зависимости от того, где оно используется.

Когда;

  1. Используемый с классами, этот класс не может быть расширен каким-либо другим классом,
  2. Используемый с методами, этот метод не может быть переопределен,
  3. Используемая с переменными / параметрами / полями, эта переменная / параметр / поле не может быть изменена после назначения ссылки.

Использование ключевого слова final перед переменной / полем / параметром означает, что после назначения ссылки ее нельзя изменить (однако, если ссылка относится к изменяемому объекту, она внутренняя состояние может измениться, несмотря на то, что оно окончательное).

Наконец-то

В Java finally - это необязательный блок, который используется вместе с блоками try-catch.

Это гарантирует, что код внутри этого блока выполняется независимо от того, что происходит в блоках try и catch. Только «System.exit ()» может окончательно перестать выполняться.

Завершить

В Java finalize - это защищенный метод в классе Object, поэтому все объекты имеют этот метод. Метод Finalize вызывается сборщиком мусора как раз перед удалением объектов, которые больше не используются или на которые не ссылаются.

Сборщик мусора вызывает этот метод, чтобы убедиться, что все подключения этого объекта к внешнему миру (удаление подключений к БД, сетевые подключения) мы можем назвать освобождением ресурсов.

Хотя это и не предлагается, этот метод можно переопределить, чтобы добавить операции, которые вы хотите выполнить, непосредственно перед тем, как объект будет удален сборщиком мусора.

Заключение

И в этом разница между final, finally и finalize. Как видите, в Java это совершенно разные вещи.

Ура!