Dúvida Sobre Classes Internas..no livro da Kathy Sierra

Estava eu estudando pelo livro da Kathy Sierra para a prova de certificação (SCJP) e me deparei com a seguinte questão (Exercício)

Questão 3. O que cria uma instância de uma classe interna anônima?
No livro a resposta correta seria a letra “E”:

E. System.out.print ( new Runnable(){public void run () {}} )

mas continuo achando que a resposta correta é a letra “D”…

D. Runnable r = new Runnable (){public void run(){}};

Alguém poderia me explicar??

Ps: A questão número 2 também está incorreta na minha opnião…se alguém souber, comentem por favor.

Atc.

Oi leofernandesmo,

Vi a questão no livro de um colega, se você está usando a versão em português, a opção D não é essa, e sim essa:

Runnable r = new Runnable (){public void run{}};

E nesse caso, a sintaxe está incorreta. Cuidado com esses exercícios do livro em Português. E com o capítulo de Threads inteiro, é um verdadeiro lixo.

[]s e boa sorte,
Eduardo

Mas pq está incorreta??

[quote=esb]
[editado]Agora que li novamente, entendi sua pergunta[/editado][/quote]

Questão completa:
3.O que cria a instância de uma classe interna anônima?

A. Runnable r = new Runnable() {};
B. Runnable r = new Runnable(public void run(){}) ;
C. Runnable r = new Runnable{public void run(){}} ;
D. Runnable r = new Runnable(){public void run(){}};
E. System.out.print( new Runnable(){public void run(){}});

Foi mal cara, eu que tinha entendido errado. Respondi ai em cima. Espero que te ajude!

[]s

Olha a pergunta do livro em inglês:

Which constructs an anonymous inner class instance?
A. Runnable r = new Runnable() { };
B. Runnable r = new Runnable(public void run() { });
C. Runnable r = new Runnable { public void run(){}};
D. Runnable r = new Runnable() {public void run{}};
E. System.out.println(new Runnable() {public void run() { }});
F. System.out.println(new Runnable(public void run() {}));

A resposta correta é a letra E.

[quote=esb]
E nesse caso, a sintaxe está incorreta. [/quote]

A sintaxe da letra “D” compila aqui no JBuilder.
Acho que a pergunta que eu não deva está entendendo…pq pra mim a letra “E” seria uma classe interna anônima definida no argumento e a letra “D” seria uma classe interna anônima.
Num é assim não??

[quote=esb]
E nesse caso, a sintaxe está incorreta. [/quote]
Foi mal… foi mal …foi mal
Reparei agora :slight_smile:

Você ta usando o livro em português, ne???

Também tenho a versão em português, e infelizmente já achei questões com erro de tradução.

Quando tiver na dúvida assim procure alguém que tenha o livro em inglês pra conferir a questão.

Fala leofernandesmo,

Eu postei a alternativa D que está no livro em inglês, e o diego2005 postou a pergunta completa logo em seguida, dê uma olhada. No livro em inglês, a alternativa correta é a E, e as outras são incorretas. No caso da letra D, há um erro de sintaxe.

Suponho que essa alternativa D que você postou, seja a do livro em Português. No caso do livro em Português, por um erro de digitação, diagramação, sei lá o que, a alternativa D está correta, mas não deveria estar. Então você vai lá nas respostas e vê que apenas a E está correta e acha estranho.

Como disse anteriormente, tome cuidado com as traduções, principalmente do capítulo de Threads, onde comeram boa parte de um código exemplo. Lamentável.

[]s

PUTA MERDA…hahahhahaha
Valeu aí todo mundo. Agora que eu vi que falta o parentese…
valeu

[quote=diego2005]Olha a pergunta do livro em inglês:

Which constructs an anonymous inner class instance?
A. Runnable r = new Runnable() { };
B. Runnable r = new Runnable(public void run() { });
C. Runnable r = new Runnable { public void run(){}};
D. Runnable r = new Runnable() {public void run{}};
E. System.out.println(new Runnable() {public void run() { }});
F. System.out.println(new Runnable(public void run() {}));

A resposta correta é a letra E.[/quote]

Baseado nisso aqui que foi postado…tanto as alternativas D e E compilam…
Mas esses livros traduzidos dão uma enorme confusão…é o presso que se paga, no meu caso, de ser preguiçoso! :lol:

finalmente a resposta correta é qual galera? D ou E? houve um erro na tradução mesmo ou nao? to desistindo de pegar o livro… ta mal eita altabooks!!

No livro em inglês a resposta certa é a letra E…

Falow…T+