Sobes.tech
Назад к вопросам
Junior — Middle
77

Что из себя представляет использование ключевого слова final в отношении классов и объектов: что остается постоянным?

Ответ от нейросети

sobes.tech AI

В Java ключевое слово final используется для обозначения неизменности:

  • final класс — класс, который нельзя наследовать. Это гарантирует, что его поведение не будет изменено через подклассы.
  • final переменная (примитив или ссылка) — переменная, значение которой нельзя изменить после инициализации. Для примитивов это означает неизменяемое значение, для ссылок — неизменяемую ссылку на объект (сам объект может быть изменяемым).
  • final метод — метод, который нельзя переопределить в подклассах.

Пример:

final class ImmutableClass {
    final int value;

    public ImmutableClass(int value) {
        this.value = value;
    }

    public final void display() {
        System.out.println("Value: " + value);
    }
}

// class ExtendedClass extends ImmutableClass {} // Ошибка: нельзя наследовать final класс

Таким образом, final фиксирует то, что нельзя изменить: класс — нельзя расширять, переменную — нельзя переназначать, метод — нельзя переопределять.