Mostrando postagens com marcador enum. Mostrar todas as postagens
Mostrando postagens com marcador enum. Mostrar todas as postagens

quarta-feira, 21 de julho de 2010

[Java] Criar e usar tipos enumerados


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:
  1. Tipos enum são implicidamente final.
  2. Constantes enum são implicidamente static.
  3. Se tentar criar um objeto de um tipo enum irá 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);
}
}