Назад к вопросам
Junior
87
questionbank
Что такое ключевые слова final и finalize в Java, и в чем их отличия?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
final:
- Переменная: Значение можно присвоить только один раз.
- Метод: Нельзя переопределить в подклассах.
- Класс: Нельзя наследоваться от этого класса.
finalize():
- Метод, вызываемый сборщиком мусора перед удалением объекта из памяти.
- Используется для освобождения внешних ресурсов (файловые дескрипторы, сетевые соединения), которые объект удерживает.
- Вызов не гарантируется и зависит от работы сборщика мусора. Не следует полагаться на него для критически важных операций.
Отличия:
| Признак | final |
finalize |
|---|---|---|
| Назначение | Модификатор доступа | Метод жизненного цикла |
| Применение | Переменные, методы, классы | Только метод |
| Когда выполняется | Во время компиляции/выполнения | Перед сборкой мусора |
| Гарантия вызова | Да | Нет |