Constantes - Problemas com ENUM

6 respostas
mausexdd

Boa tarde pessoal do GUJ , mas uma vez peço a ajuda dos caros amigos daqui do forum.

Segue o problema:

Estou estudando para OCJCP - e vi que um ENUM pode ser declarado fora ou dentro da classe e O uso de static, public, protected e default são válidos para enum.
Só que quando declaro o ENUM fora da classe , ele só aceita o modificador default , alguem sabe me explicar porque?

//Aqui blz
enum pessoa {
	AMARELA, PARDA, BRANCA
};

//Aqui da erro com qualquer modificador
public enum zorra {
	TIRADENTES, SOLDADO
};

public class TrabalhandoComOperadores {
	
/ aqui tudo ok
 static enum carro {
		CHEVROLET, MERCEDEZ, MAZDA
	};

6 Respostas

ViniGodoy

A regra de visibilidade do enum é a mesma das classes. Isso porque o enum não deixa de ser uma classe, com um conjunto de constantes relacionadas.

mausexdd

A regra de visibilidade do enum é a mesma das classes. Isso porque o enum não deixa de ser uma classe, com um conjunto de constantes relacionadas.

Então isso eu intendi , só achei estranho que o enum quando declarado fora da classe , o eclipse alega qualquer modificador que não seja default como inválido;

marvinla

Acabei de criar um enum aqui, como public, e funciona normalmente:

public enum Teste1 {

	TESTE1, TESTE2;
	
	private Teste1() {
	}
	
}

o que não funciona é o Construtor ser publico (até porque, não teria sentido....).
Poste a mensagem de erro que você está recebendo.

Abraços

ViniGodoy

Funciona com public e default, como as classes. Classes não internas também não podem ser private, protected ou static.

lucas_guj

Quando eu declaro em uma outra classe eu consigo utilizar public

Diguinho.Max

Também fiz o teste Carvalho e funciona aqui :smiley:
é nois parça!.

Criado 17 de outubro de 2011
Ultima resposta 24 de out. de 2011
Respostas 6
Participantes 5