Classe Enum

A classe enum funciona como uma enumeração de constantes. Essas constantes podem ter valores associados e funcionam com um vetor, ou seja, cada constante é uma posição do vetor. Uma característica da classe enum é ter o construtor privado. Na declaração da classe enum não é criado espaço de memória, logo ela funciona com uma classe static. A classe static já tem espaço de memória para funcionar.

Representação da Classe Enum

package entity;

public enum Bimestre {
	
	//Criando as Constantes
	PRIMEIRO(1), SEGUNDO(2), TERCEIRO(3), QUARTO(4);

	//Uma variavel para representar o numero associado a Constante
	private Integer pos;
	
	private Bimestre() {
	}
	
	@Override
	public String toString() {
		return super.toString();
	}
	
	private Bimestre(Integer pos) {
		this.pos = pos;
	}
	
	public Integer getPos() {
		return pos;
	}

	public void setPos(Integer pos) {
		this.pos = pos;
	}
	
	public static void main(String[] args) {
			
		for(Bimestre x : Bimestre.values() ){
		
			System.out.println("Nome : " + x.name()); //PRIMEIRO, SEGUNDO, TERCEIRO, QUARTO
			
			System.out.println("Posicao :" + x.ordinal()); // 0 , 1 , 2 , 3
		
			System.out.println("Valor : " + x.getPos()); // 1 , 2 , 3 , 4
			
	  }	
	  
	}	
}