Junior
61
questionbank

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

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

final:

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

finalize():

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

Отличия:

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