Dica sobre enums

2 respostas
R

Pessoal,

estou fazendo uma classe aqui e me deparei com algo que não sabia e, como acho que não deva ser comum, resolvi compartilhar com vcs…

estava criando uma classe interna (normal, ou seja, sem ser estática/anonima/de metodo) e, dentro dessa classe interna fui criar um enum. Recebi o erro de compilação informando que pra um enum ser declarado dentro de um membro, o membro tem que ser static.

Segue um exemplo com as conclusões comentadas no código:

public class ClasseExterna {
   public class ClasseInterna {
      public enum MeuEnum {CONSTANTE1, CONSTANTE2}; //Erro de compilação, pois o membro ClasseInterna da ClasseExterna não é static
   }

   public static class ClasseAninhadaEstatica {
      public enum MeuEnum {CONSTANTE1, CONSTANTE2}; //Funciona normal
   }
}

Tá aí a dica! :wink:

Abraços e T+

2 Respostas

LPJava

puts esssa nao sabia :(…

Ironlynx

Enum como classe internaé sempre considerada static, mesmo que não use a palavra-chave!
No caso, MeuEnum é estático, mesmo sem a palavra chave.
Isso eu vi aqui: http://mindprod.com/jgloss/enum.html

Criado 17 de agosto de 2007
Ultima resposta 22 de ago. de 2007
Respostas 2
Participantes 3