Los enumerations son tipos de datos muy especiales pues este, es el único en su tipo que sirve para declarar una colección de constantes, al ser así estaremos obligados a escribirlos con mayúsculas.
Usaremos enum cada vez que necesitemos representar un conjunto fijo de constantes. Por ejemplo los días de la semana.
Así podemos declarar un enumeration usando la palabra reservada enum.
Puedo crear referencias de enumerations de la siguiente forma:
Day day;switch(day){caseMONDAY:System.out.println(“Mondays are good.”);break;caseFRIDAY:System.out.println(“Fridays are nice”);break;caseSATURDAY:case:SUNDAY:System.out.println(“Weekends are the best”);break;default:System.out.println(“Midweek are so-so”);break;}
Y puedo llamar un valor del enumeration así:
Day.MONDAY;Day.FRIDAY;Day.SATURDAY
Los enumerations pueden tener atributos, métodos y constructores, como se muestra: