Название конструкции

private final EventManager eventManager;
private final DateManager dateManager;
private final UserManager userManager;

Как называется эта конструкция? Это объект или что-то еще? EventManager, DateManager, UserManager - это имена классов.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
7
0
44
3

Ответы 3

Объявление констант, неизменяемых или же, полей типов EventManager, DateManager и UserManager. Поля, объявленные final, могут быть установлены конструктором только один раз, после этого они не могут быть изменены.

Он называется объявление поля. Вы заявляете, что эти [частные, окончательные] поля существуют с такими именами и типами.

Вы объявляете поля (локальные переменные класса). Они неинитализированы (объекты еще не существуют, поэтому конструктор не был вызван). Они установлены как окончательные, что означает, что им можно присвоить значение только один раз, а вы еще этого не сделали (поэтому вам нужно сделать это в конструкции).

Если бы вы хотели определить их и вызвать их конструктор, это выглядело бы так:

private final EventManager eventManager = new EventManager();

Это вызовет конструктор по умолчанию, если он есть, и инициализирует поле. Опять же, поскольку поле помечено как окончательное и поскольку в приведенном выше примере оно объявляется со значением, вы не можете снова установить это значение, даже в конструкторе.

Другие вопросы по теме