Java Core junior
final, finally, finalize — три разных слова?
Ответ
final: класс (нельзя наследовать), метод (нельзя переопределить), поле (нельзя переприсвоить). finally: блок try-catch-finally, выполняется ВСЕГДА, в том числе при return из try. finalize(): метод Object, вызывается GC недетерминированно перед удалением (deprecated).
Разбор: final ограничивает наследование/переопределение/переприсвоение, finally выполняется всегда (в том числе при return из try, отрабатывая до выхода), а finalize() — метод Object, вызываемый GC недетерминированно перед удалением (deprecated). Дистракторы вносят ложь: finally отрабатывает и при return; final List не делает содержимое неизменяемым; finalize — это не AutoCloseable.close() и его вызов не гарантирован даже при System.gc(); final применим и к классам.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.