Найти в Дзене
Записки о Java

Что такое final в JAVA

Ключевое слово final в Java означает "неизменяемый". Оно применяется к: Цель final — защитить код от случайных изменений, улучшить читаемость и потокобезопасность. final int x = 5; -> Переменная не может быть переприсвоена final void method() -> Метод нельзя переопределить в подклассе final class MyClass -> Класс нельзя наследовать Представь, что у тебя есть конструктор LEGO, и ты собрал замок.
Ты говоришь: "Этот замок — нельзя менять!" Ты ставишь на него замок — это final.
Никто не может: Так и в программировании: final — это замок на важных вещах, чтобы их не сломали. final — это мощный инструмент, который помогает: Пример кода, рассмотренного в статье можно найти по адресу: https://github.com/ShkrylAndrei/blog_yandex/blob/main/src/main/java/info/shkryl/useFinal/Person.java
Оглавление
Рисунок: что такое final в JAVA
Рисунок: что такое final в JAVA

Что такое final?

Ключевое слово final в Java означает "неизменяемый". Оно применяется к:

  • Переменным — значение нельзя изменить
  • Методам — нельзя переопределить
  • Классам — нельзя наследовать

Цель final — защитить код от случайных изменений, улучшить читаемость и потокобезопасность.

Где можно использовать final?

final int x = 5; -> Переменная не может быть переприсвоена

final void method() -> Метод нельзя переопределить в подклассе

final class MyClass -> Класс нельзя наследовать

Пример: иммутабельный класс

Рисунок: листинг иммутабельного (неизменяемого) класса  Person
Рисунок: листинг иммутабельного (неизменяемого) класса Person

Объяснение словами 5-летнего ребенка

Представь, что у тебя есть конструктор LEGO, и ты собрал замок.
Ты говоришь: "Этот замок —
нельзя менять!"

Ты ставишь на него замок — это final.

Никто не может:

  • Перекрасить башню (final переменная)
  • Перестроить вход (final метод)
  • Добавить к нему свой дворец (final класс)

Так и в программировании: final — это замок на важных вещах, чтобы их не сломали.

Заключение

final — это мощный инструмент, который помогает:

  • Делать код надёжнее
  • Защищать критические участки
  • Создавать иммутабельные классы
  • Улучшать потокобезопасность

Пример кода, рассмотренного в статье можно найти по адресу:

https://github.com/ShkrylAndrei/blog_yandex/blob/main/src/main/java/info/shkryl/useFinal/Person.java