Dado o código abaixo:
enum Animals {
DOG("woof"), CAT("meow"), FISH("burble");
String sound;
Animals(String s) { sound = s; }
}
class TestEnum {
static Animals a;
public static void main(String[] args) {
System.out.println(a.DOG.sound + " " + a.FISH.sound);
}
}
Qual será o resultado?
1. woof burble
2. Erro de compilação múltiplos
3. Compilação falha devido ao um erro na linha 2
4. Compilação falha devido ao um erro na linha 3
5. Compilação falha devido ao um erro na linha 4
6. Compilação falha devido ao um erro na linha 9
realmente poderia ser
Enviado por FilipePortes em qui, 12/17/2009 - 06:26.realmente poderia ser substituido o código..
mas da maneira que está aparentemente vai funcoinar, acredito que o resultado será
"woof burble"
Atenciosamente,
Filipe Portes
Arquiteto de Software - Desenvolvedor Senior Java EE/Web/Flex
omeuefilipe@gmail.com
Transfirindo a resposta da lista
Enviado por Diogo Nepomucen... em qua, 12/16/2009 - 14:00.Resposta: 1
Comentários:
Os elementos de um enum são constantes e podem ser acessados sem a necessidade da inicialização de um objeto. A linha 9 poderia ser alterada para:
System.out.println(Animals.DOG.sound + " " + Animals.FISH.sound);
O que não poderia ser feito é:
System.out.println(a.sound);
resposta correta
Enviado por Joao Felipe Java em ter, 01/12/2010 - 13:01.Letra 1 (hehehe, na certificação mesmo serão letras e não números as opções)
O comentário do diego é pertinente. Os campos dos enums DEVEM ser acessados estáticamente. Mas não TEM QUE, então não geram erros de compilação e 'woof burble' é escrito como saída.
resposta correta
Enviado por Joao Felipe Java em ter, 01/12/2010 - 13:01.Letra 1 (hehehe, na certificação mesmo serão letras e não números as opções)
O comentário do diego é pertinente. Os campos dos enums DEVEM ser acessados estáticamente. Mas não TEM QUE, então não geram erros de compilação e 'woof burble' é escrito como saída.