Создание enum-класса в Java — пример с методами и значениями

Перечисление (enum) в Java — это особый класс, в котором заранее заданы все возможные значения (константы). Внутри enum можно объявлять методы, и тогда каждая константа будет вести себя как объект этого класса.

Пример 1: программа на Java для создания enum-класса

enum Size{

  // enum constants
  SMALL, MEDIUM, LARGE, EXTRALARGE;

  public String getSize() {

  // this will refer to the object SMALL
  switch(this) {
    case SMALL:
      return "small";

    case MEDIUM:
      return "medium";

    case LARGE:
      return "large";

    case EXTRALARGE:
      return "extra large";

    default:
      return null;
     }
  }

  public static void main(String[] args) {

     // call the method getSize()
     // using the object SMALL
     System.out.println("The size of Pizza I get is " + Size.SMALL.getSize());

     // call the method getSize()
     // using the object LARGE
     System.out.println("The size of Pizza I want is " + Size.LARGE.getSize());
  }
}

Вывод:

The size of Pizza I get is small
The size of Pizza I want is large

В этом примере мы создали enum-класс с именем Size. Он содержит четыре константы: SMALL, MEDIUM, LARGE и EXTRALARGE.

Компилятор автоматически превращает все константы перечисления в его экземпляры. Поэтому метод можно вызывать прямо у константы, как у объекта:

Size.SMALL.getSize()

В этом вызове ключевое слово this связано с объектом SMALL, поэтому возвращается строка "small".