[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(){}});
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() {}));
[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??
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.
[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: