acho q estou com a msm duvida q vc, pra mim nao era possível instanciar interfaces…
segue o orignal em ingles
There’s nothing special about the run() method as far as Java is concerned. Like main(), it just happens to be the name (and signature) of the method that the new thread knows to invoke. So if you see code that calls the run() method on a Runnable (or even on a Thread instance), that’s perfectly legal. But it doesn’t mean the run() method will run in a separate thread! Calling a run() method directly just means you’re invoking a method from whatever thread is currently executing, and the run() method goes onto the current call stack rather than at the beginning of a new call stack. The following code does not start a new thread of execution:
Runnable r = new Runnable();
r.run(); // Legal, but does not start a separate thread
evertonsilvagomesjav
A unica maneira de instanciar interface é criando uma classe anonima.
evertonsilvagomesjav
ficaria assim:
Runnabler=newRunnable(){@Overridepublicvoidrun(){// TODO Auto-generated method stub}};
E
entanglement
Como o Everton afirmou, o texto está apenas simplificando o exemplo (ele supõe que você preencha as lacunas mentalmente).
Não é possível instanciar uma interface (é claro, o livro já lhe doutrinou suficientemente para você saber disso), mas obviamente é possível instanciar uma classe anônima que implementa uma interface. Ou seja, quando está escrito no livro:
É só para você ficar esperto - afinal de contas, o livro é americano (e como bom americano, eles tendem a pensar sem ficar se prendendo excessivamente a detalhes), não brasileiro (onde você tem de ser muito explícito e não deixar espaço para a imaginação, porque você tende a seguir os detalhes e acabar se perdendo nos detalhes).
S
stone010
Sim sim, a cultura norte americana tende mais a estimular o exercício mental em relação a nossa, mas deixando o puxa-saquismo norte-americano de lado (…rs)…
O aspecto didático do livro, é extremamente metódico, cauteloso e repetitivo do inicio ao fim (que chega até a enjoar determinadas vezes, rs) no que se refere a sintaxe. Assim como qualquer livro deste gênero tem que ser.
Claro que a primeira alternativa que se pensa são nas classes anônimas, pois estaria implementando Runnable() em um objeto anônimo. Mas pelo motivo que falei, acho muito difícil crer que foi alguma forma de encurtar o código (em uma espécie de pseudo-código) referindo-se a uma classe anônima.
Gostaria de mais sugestões, se possível.
S
stone010
opa, vlw pela postagem italons
S
stone010
Pra quem estiver com a mesma dúvida. De fato a citação do livro está incorreta.
Como deveríamos suspeitar desde o principio, o correto é: