Uma enumeração é um tipo especial de classe que é introduzida pela palavra-chave
enum e um nome de tipo. Assim como todas as classes as chaves { e } delimitam o corpo da declaração enum. Entre as chaves contém uma lista de constantes de enumeração separadas por vírgulas. Cada identificador em uma enum devem ser únicos.Como todas as classes, os tipos
enum são tipos por referência. Uma declaração do tipo enum pode opcionalmente incluir construtores, campos e métodos.Características da classe enum:- Tipos
enumsão implicidamentefinal. - Constantes
enumsão implicidamentestatic. - Se tentar criar um objeto de um tipo
enumirá resultar em erro de compilação.
Usar tipos enumerados
Segue abaixo exemplo de declaração e utilização de classe
enum. Verifique que no exemplo a classe enum possui campo, construtor e método.//Classe enum Naipe
public enum Naipe {
ESPADAS ("Espadas"),
COPAS ("Copas"),
PAUS ("Paus"),
OUROS ("Ouros");
// Campo
private final String nome;
// Construtor
private Naipe (String nome) {
this.nome = nome;
}
// Método
public String getNome() {
return nome;
}
}
// Classe Baralho
public class Baralho {
private Naipe naipe;
private int valor;
public Baralho(Naipe n, int v) {...}
public Naipe getNaipe() {...}
public int getValor() {...}
public String getNomeNaipe() {...}
}
// Classe TestaBaralho
public class TestaBaralho {
public static void main(String[] args) {
Baralho carta1 = new Baralho(Naipe.ESPADAS, 2);
System.out.println("A carta1 é um " + carta1.getValor()
+ " de " + carta1.getNaipe().getNome());
// Isto não compilará.
// Baralho carta2 = new Baralho(47, 2);
}
}
