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




Объявление констант, неизменяемых или же, полей типов EventManager, DateManager и UserManager. Поля, объявленные final, могут быть установлены конструктором только один раз, после этого они не могут быть изменены.
Он называется объявление поля. Вы заявляете, что эти [частные, окончательные] поля существуют с такими именами и типами.
Вы объявляете поля (локальные переменные класса). Они неинитализированы (объекты еще не существуют, поэтому конструктор не был вызван). Они установлены как окончательные, что означает, что им можно присвоить значение только один раз, а вы еще этого не сделали (поэтому вам нужно сделать это в конструкции).
Если бы вы хотели определить их и вызвать их конструктор, это выглядело бы так:
private final EventManager eventManager = new EventManager();
Это вызовет конструктор по умолчанию, если он есть, и инициализирует поле. Опять же, поскольку поле помечено как окончательное и поскольку в приведенном выше примере оно объявляется со значением, вы не можете снова установить это значение, даже в конструкторе.