Встречается на собеседованиях • сегодня

В чем разница между final и finalize

final — это ключевое слово в Java, которое может применяться к переменным, методам и классам:

  • Для переменных: значение нельзя изменить после инициализации.
  • Для методов: метод нельзя переопределить в подклассах.
  • Для классов: класс нельзя наследовать.

Пример:

java
final int x = 10; // переменная неизменяема
final class Parent {} // класс нельзя наследовать

finalize() — это метод класса Object, вызываемый сборщиком мусора перед удалением объекта. Позволяет выполнить очистку ресурсов, но его использование не рекомендуется из-за непредсказуемости вызова и возможных утечек.

Пример:

java
@Override
protected void finalize() throws Throwable {
    // очистка ресурсов
    super.finalize();
}

Итог: final — контроль неизменяемости/наследования, finalize() — устаревший механизм очистки.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы