Enums - acesso a variaveis enums nao inicializadas?
5 respostas
icarocd
olá,
estou comecando a caminhada pra fazer a SCJP 1.5, e to fechando esses dias o capitulo 1 da Kathy.
apareceu uma duvida de enum nas questoes do livro que fiquei com uma pulga atras da orelha, vejam se voces saberiam me explicar… O codigo abaixo acessa constantes do enum mas a varivel sequer foi inicializada, entao nao entendi…
valeu rapaziada
publicclassEnum1{staticenumA{A,B}
staticAa;publicstaticvoidmain(String[]args){System.out.println(a.B.toString());//roda sem problemas!System.out.println(a.toString());//erro de nullPointer!}
Só para que fique mais claro no momento vc pode considerar que a variavel static é previamente conhecido pelo meto main…
anderson.bonavides
Só para que fique mais claro no momento vc pode considerar que a variavel static é previamente conhecido pelo metodo main…
LPJava
bom, lembre-se as variaveis tanto static quanto nao static… elas recebem seus valores padrao… se for um int recebe 0 se for um objeto recebe null, como enum é um tipo especial, entao:
staticAa;
refere-se a null, porem vc tentou usar uma variavel que refere-se a null entao eh lançada uma exceção…
se eu tiver errado a galera me corrige ai tb to estudando para scjp porem tem mais de 1 semana sem pegar no livro
icarocd
bom galera valeu ai, mas ninguem respondeu o que eu perguntei de fato!
minha duvida está na instrucao que roda certo, e nao na que roda errado, do exemplo(2ª).
o que quero saber é o que porquê de uma variavel de instancia que tem valor null poder acessar membros estaticos do seu tipo.