Java Core trainee

В чём разница final, finally, finalize?

Ответ

final — модификатор: final class/method/field (запрет наследования, переопределения, переприсваивания). finally — блок в try-catch, выполняется ВСЕГДА (даже при исключении или return), используется для освобождения ресурсов. finalize() — устаревший метод Object, вызываемый GC недетерминированно, полагаться на него для очистки ресурсов нельзя.

Разбор: final — модификатор (запрет наследования/переопределения/переприсваивания), finally — блок try-catch, выполняющийся всегда (в том числе при исключении и return), finalize() — устаревший метод Object, вызываемый GC недетерминированно. Ловушки: перепутать роли трёх сущностей, считать, что finally пропускается при исключении/return, или полагаться на finalize() для очистки ресурсов.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться