6. Что такое перечисления (Enum)?

6. Что такое перечисления (Enum)?

UNKNOWN

Перечисления представляют набор логически связанных констант.

Объявление перечисления происходит с помощью оператора enum, после которого идет название перечисления. Затем идет список элементов перечисления через запятую. Каждый из них явно объявлен как открытый статический финальный член класса.

values() - он возвращает массив всех констант перечисления

Особенности Enum классов:

  1. Конструктор всегда private или defaul
  2. Могут имплементировать интерфейсы
  3. Не могут наследовать класс
  4. Можем переопределить toString()
  5. Нет public конструктора, поэтому нельзя создать экземпляр вне Enum
  6. При equals() выполняется ==
  7. ordinal() возвращает порядок элементов
  8. Может использоваться в TreeSet и TreeMap т.к. Enum имплементирует Comparable
  9. compareTo() имитирует порядок элементов предоставляемый ordinal()
  10. Можно использовать в Switch Case
  11. values() возвращает массив всех констант
  12. Легко создать потокобезопасный синглтон без double check volatile переменных.

Предыдущий вопрос: 5. Каким образом из вложенного класса получить доступ к полю внешнего класса?

Следующий вопрос: 7. Как проблема ромбовидного наследования решена в Java?

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page