Es una "clase" especial que representa un grupo de constantes (variables no modificables, como final variables). La única limitación que tienen los enumerados respecto a una clase normal es que si tiene constructor, este debe de ser privado para que no se puedan crear nuevos objetos.
Las enumeraciones sirven para representar un grupo de constantes nombradas en un lenguaje de programación. Por ejemplo, los 4 palos de una baraja de cartas pueden ser 4 enumeradores llamados picas, diamante, corazón y trébol, que pertenecen a un tipo enumerado llamado Suit.
Las enumeraciones se utilizan cuando conocemos todos los valores posibles en tiempo de compilación , como las opciones en un menú, los modos de redondeo, los indicadores de línea de comando, etc. No es necesario que el conjunto de constantes en un tipo de enumeración permanezca fijo para siempre.
Ahora veremos un ejemplo donde utilizamos una enumeración:
import java.util.*; public class EnumPrueba{ enum Color { RED, GREEN, BLUE; } public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); } }
Lo que nos muestra en consola en la ejecución del código es RED.
Como vemos el principal objetivo objetivo de la enumeración es definir nuestros propios tipos de datos.