6. Что такое перечисления (Enum)?
UNKNOWNПеречисления представляют набор логически связанных констант.
Объявление перечисления происходит с помощью оператора enum, после которого идет название перечисления. Затем идет список элементов перечисления через запятую. Каждый из них явно объявлен как открытый статический финальный член класса.
values() - он возвращает массив всех констант перечисления
Особенности Enum классов:
- Конструктор всегда private или defaul
- Могут имплементировать интерфейсы
- Не могут наследовать класс
- Можем переопределить toString()
- Нет public конструктора, поэтому нельзя создать экземпляр вне Enum
- При equals() выполняется ==
- ordinal() возвращает порядок элементов
- Может использоваться в TreeSet и TreeMap т.к. Enum имплементирует Comparable
- compareTo() имитирует порядок элементов предоставляемый ordinal()
- Можно использовать в Switch Case
- values() возвращает массив всех констант
- Легко создать потокобезопасный синглтон без double check volatile переменных.
Предыдущий вопрос: 5. Каким образом из вложенного класса получить доступ к полю внешнего класса?
Следующий вопрос: 7. Как проблема ромбовидного наследования решена в Java?
Все вопросы по теме: список
Все темы: список
Вопросы/замечания/предложения/нашли ошибку: напишите мне