Назад к вопросам
Junior
87
questionbank

Что такое ключевые слова final и finalize в Java, и в чем их отличия?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

final:

  • Переменная: Значение можно присвоить только один раз.
  • Метод: Нельзя переопределить в подклассах.
  • Класс: Нельзя наследоваться от этого класса.

finalize():

  • Метод, вызываемый сборщиком мусора перед удалением объекта из памяти.
  • Используется для освобождения внешних ресурсов (файловые дескрипторы, сетевые соединения), которые объект удерживает.
  • Вызов не гарантируется и зависит от работы сборщика мусора. Не следует полагаться на него для критически важных операций.

Отличия:

Признак final finalize
Назначение Модификатор доступа Метод жизненного цикла
Применение Переменные, методы, классы Только метод
Когда выполняется Во время компиляции/выполнения Перед сборкой мусора
Гарантия вызова Да Нет