Пример Java Enum | Класс перечисления в Java

Java — это язык объектно-ориентированного программирования. В Java перечисление — это особый класс, представляющий группу констант. Все возможные значения в перечислениях используются во время компиляции. В Java мы представляем класс Enum с помощью типа данных enum. Enum в Java более мощный, чем enum в C/C ++. Мы можем добавить к нему методы, переменные и конструктор.

Ключевые моменты в Enum

  1. enum улучшить безопасность типов.
  2. enum можно легко использовать в переключателе.
  3. enum может иметь поля, конструкторы и методы.
  4. enum может реализовывать множество интерфейсов, но не может расширять какой-либо класс, потому что он внутренне расширяет класс Enum.
  5. enum может быть пройден.

Java Пример перечисления

Перечисления представляют группу именованных констант в программировании. Например, четыре масти в колоде игральных карт могут быть четырьмя счетчиками с именами Club, Diamond, Heart и Spade, принадлежащими к перечисляемому типу с именем Suit.

Другие примеры включают естественные перечисляемые типы, такие как планеты, дни недели, цвета, направления и т. д. Перечисления — это неизменяемые переменные, такие как переменные final .

Давайте посмотрим, как создать объявление перечисления.

Синтаксис Enum

 enum enum_name {Список/методы констант} 

См. следующий Тест .java .

 enum WeekDays {воскресенье, понедельник, вторник, среда, четверг, пятница, суббота} class Test {public static void main (String [] er) {WeekDays wd  ; //wk - это переменная перечисления типа WeekDays wd = WeekDays.sunday; //wk могут быть присвоены только константы, определенные в enum type Weekdays System.out.println ("Today is" + wd);  }} 

В приведенном выше примере воскресенье, понедельник … они называются константами Enum. По умолчанию это общедоступные, статические и окончательные.

Можем ли мы создать экземпляр enum новым ключевым словом?

Нет, потому что он содержит только частные конструкторы.

Можем ли мы иметь абстрактный метод в enum?

Да, конечно! У нас могут быть абстрактные методы и мы можем предоставить реализацию этих методов.

Переменные перечисления могут быть объявлены без ключевого слова new .

Переменные типа Enumeration могут иметь в качестве значения только константы перечисления. Мы определяем переменную перечисления как следующий синтаксис.

enum_variable = enum_type.enum_constant;

См. Вывод.

Теперь давайте посмотрим, как использовать регистр переключения в перечислении.

См. следующий код.

 enum WeekDays {воскресенье, понедельник, вторник, среда, четверг, пятница, суббота} class Switch {public static void main (String [] er  ) {WeekDays wd;  wd = WeekDays.monday;  switch (wd) {case sunday: System.out. println («Сегодня» + wd.sunday); break; case monday: System.out.println («Today is» + wd.monday); break; case tuesday: System.out.println («Today is» + wd  .tuesday); break; case среда: System.out.println ("Today is" + wd.wednesday); break; case thursday: System.out.println ("Today is" + wd.thursday); break; case friday  : System.out.println («Сегодня» + среда.пятница); перерыв; суббота: System.out.println («Сегодня» + среда.суббота); перерыв;  }}} 

См. результат.

Values ​​() и метод valueOf ()

Все перечисления являются предопределенными методами values ​​() и valueOf () .

Какова основная цель метода values ​​() в перечислении?

Компилятор java внутренне добавляет функцию values ​​() при создании перечисления. Метод values ​​() возвращает массив, содержащий все значения перечисления.

Метод values ​​() возвращает массив типа enum, содержащий все константы перечисления в нем.

Синтаксис метода values ​​() следующий.

 public static enum-type [] values ​​(); 

valueOf ( ) используется для возврата постоянного значения перечисления, которое равно строке, переданной в качестве аргумента при вызове этого метода.

См. следующий синтаксис

 public static enum-type [] valueOf (String s); 

Давайте посмотрим на пример этих двух методов.

 enum WeekDays {воскресенье, понедельник, вторник  , среда, четверг, пятница, суббота} class Method {public static void main (String [] er) {WeekDays wd;  System.out.println ("Константы дней недели перечисляемого типа:");  WeekDays arr [] = WeekDays.values ​​();  для (WeekDays a: arr) {System.out.print ("" + a);  } wd = WeekDays.valueOf ("воскресенье");  System.out.println (" nToday is" + wd);  }} 

См. следующий результат.

Теперь мы собираемся понять полную программу, содержащую методы конструктора в Enumeration.

Посмотрите программу ниже и проанализируйте результат.

 enum WeekDays  {воскресенье (1), понедельник (2), вторник (3), среда (4), четверг (5), пятница (6), суббота (7); частный int day; int getday () {return day;} WeekDays  (int day) {this.day = day;}} class Final {public static void main (String [] er) {WeekDays wd;  System.out.println («Воскресенье - это» + WeekDays.sunday.getday () + «День недели»);  }} 

См. вывод ниже.

Разница между перечислениями и классами

Перечисление может, как и класс , у которых есть атрибуты и методы.

Основное различие заключается в том, что константы перечисления являются public, static, и final и не могут быть изменены, что означает, что он не может быть отвергнутым.

Перечисление нельзя использовать для создания объектов, и оно не может расширять другие классы, но может реализовывать интерфейсы.

Итак, это все, что касается Enums в Java.

Наконец, пример Java Enum завершен.

Оцените статью
nanomode.ru
Добавить комментарий