Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvOpEsEC 93 of 147 menu
◀ ▶

Конструктор enum в Java

У перечисления может быть один или несколько конструкторов, но вызывать их снаружи нельзя: конструктор по умолчанию имеет модификатор private (его можно не писать). Параметры передают в круглых скобках сразу после имени константы:

enum PostStatus { DRAFT("Draft post"), PUBLISHED("Live post"), ARCHIVED("Archived post"); private final String caption; PostStatus(String caption) { this.caption = caption; } public String getCaption() { return caption; } }

Возьмем константу DRAFT и выведем текст ее подписи:

System.out.println(PostStatus.DRAFT.getCaption());

После последней константы, у которой есть аргументы или после списка констант без аргументов, ставят точку с запятой, если дальше в теле enum идут поля, конструкторы или методы. Без точки с запятой компилятор воспримет следующую строку как ещё одну константу:

System.out.println(PostStatus.DRAFT.isDraft());

Конструктор может принимать несколько параметров - для каждой константы передают свой набор значений:

System.out.println(PostStatus.PUBLISHED.isVisible());

Объявите enum EmployeeType с конструктором, принимающим String title: INTERN - "intern", STAFF - "staff". Выведите заголовок для EmployeeType.STAFF.

Объявите enum Role с конструктором Role(int access): GUEST(0), USER(5), ADMIN(10). Сохраните Role.USER в переменную и выведите значение access.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить