Назад к вопросам
Junior
93
questionbank
Что означает ключевое слово 'final' в языке программирования Java?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Ключевое слово final в Java используется для указания на то, что переменная, метод или класс не могут быть изменены.
-
finalпеременная:- Переменной, объявленной как
final, ее значение может быть присвоено только один раз. После присвоения оно не может быть изменено. - Для примитивных типов данных значение
finalпеременной является константой. - Для ссылочных типов данных
finalпеременная означает, что ссылка на объект не может быть изменена, но состояние самого объекта (его поля) может изменяться (если только поля самого объекта не объявлены какfinal).
final int MAX_VALUE = 100; // final примитивная переменная final List<String> names = new ArrayList<>(); // final ссылочная переменная names.add("Alice"); // OK // names = new ArrayList<>(); // Ошибка компиляции - нельзя переприсвоить ссылку - Переменной, объявленной как
-
finalметод:- Метод, объявленный как
final, не может быть переопределен (overridden) в подклассах. - Это используется для предотвращения нежелательного изменения поведения в иерархии наследования.
class Parent { final void display() { System.out.println("This is a final method."); } } class Child extends Parent { // @Override void display() { } // Ошибка компиляции - нельзя переопределить final метод } - Метод, объявленный как
-
finalкласс:- Класс, объявленный как
final, не может иметь подклассов (не может быть наследоваться). - Это используется для обеспечения неизменяемости класса и предотвращения расширения его функциональности.
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } public int getValue() { return value; } } // class TryingToExtend extends ImmutableClass { } // Ошибка компиляции - нельзя наследовать final класс - Класс, объявленный как