A classe de enumeração enum foi introduzida no JDK1.5. Anteriormente, public static final int enum_value era usado em vez da classe de enumeração. A classe de enumeração enum é uma classe especial que herda a classe java.lang.Enum por padrão. Como outras classes comuns, enum também pode ter variáveis, métodos e construtores de membros e também pode implementar uma ou mais interfaces.
1. Se houver construtor, deve ser decorado com particularidade.
2. As classes de enumeração não podem derivar subclasses.
3. Todas as instâncias da classe de enumeração devem ser claramente definidas na primeira linha. O sistema adicionará automaticamente modificações finais estáticas públicas a essas instâncias, sem a necessidade de os programadores as definirem explicitamente.
4. A classe de enumeração fornece o método values() por padrão para facilitar a passagem por todos os valores de enumeração.
Métodos em enum (métodos fornecidos por Enum):
public final int compareTo(E o) Compara valores de enumeração do mesmo tipo
public final int ordinal() Retorna o valor do índice da enumeração, começando em zero para o primeiro valor da enumeração.
public final String name() retorna o nome da instância de enumeração
public String toString() retorna o nome da saída da enumeração
Exemplo de semáforo
public enum TrafficLight { VERMELHO("Vermelho"), AMARELO("Amarelo"), VERDE("Verde"); private TrafficLight(String nome) { this.name = nome } public String getName() { return nome; } public void jude (semáforo) { switch (semáforo) { case VERMELHO: System.out.println ("stop case AMARELO"); System.out.println("go"); case VERDE: System.out.println("wait break"); : TrafficLight.values()) { System.out.println(e.name() } }}