Um enum é um objeto?

6 respostas
Java_Player

Consegui colocar um enum dentro de um atributo do tipo Object, mas a classe java.lang.Enum não extende Object. Por que?

6 Respostas

J
Não estende?
enum Enum01 { A, B, C }   

public class Teste {   
	public static void main(String [] args){
		Object o = Enum01.A;
		System.out.println(o instanceof Object); //imprime true
	}
}
francislon

Todas as classes em java estendem Object.

brunoha

Aonde vc viu que não estende?

lgi2020

Exatamente.

ViniGodoy

O que confunde é o seguinte.

O comando enum define uma Lista de objetos, que são filhos de uma classe enum. Por exemplo:

A classe “Nomes”, é filha de Enum, que é filha de Object, definiu 4 objetos, A, B, C e D. Você pode até mesmo implementar propriedades e métodos num enum (incluindo polimórficos), e eliminar centenas de switches no seu código, fazendo assim um favor a humanidade.

Um exemplo disso está aqui:
http://www.guj.com.br/posts/list/55885.java

peerless

ViniGodoy:
O que confunde é o seguinte.

O comando enum define uma Lista de objetos, que são filhos de uma classe enum. Por exemplo:

A classe “Nomes”, é filha de Enum, que é filha de Object, definiu 4 objetos, A, B, C e D. Você pode até mesmo implementar propriedades e métodos num enum (incluindo polimórficos), e eliminar centenas de switches no seu código, fazendo assim um favor a humanidade.

Um exemplo disso está aqui:
http://www.guj.com.br/posts/list/55885.java

E cada objeto é filho de Nomes

:open_mouth:

Criado 12 de março de 2008
Ultima resposta 13 de mar. de 2008
Respostas 6
Participantes 7