Olá pessoal estou mais uma vez aqui pra apresentar um provavel erro. O que vcs acham sobre esse exemplo dado no livro de certificação da Katie Sierra, 2.Edição página 70 SCJP 310-055
Está assim:
[i]Os criadores do exame irão lhe dizer que foram forçados a colocar toneladas de códigos em pequenos espaços “por causa do sistema do exame”.
Embora isso seja potencialmente verdadeiro, eles TAMBÉM gostam de ser obscuros. O código seguinte:
1- Animal a = new Dog();
2- Dog d = (Dog) a;
3- a.doDogStuff();
Pode ser substituído por este, muito mais fácil de ler:
1- Animal a = new Dog();
2- ( (Dog) a ).doDogStuff();
Neste caso, o compilador precisa de todos esses parênteses, caso contrário pensará que está recebendo uma instrução incompleta.[/i]
A pergunta que não quer calar é: Onde é que isso é a mesma coisa ?
A linha 3 no primeiro bloco na teria o efeito requerido, pois a intenção de se fazer um cast pra Dog, é para acessar os métodos de Dog, onde isso não está acontecendo.
O que vcs acham disso ?
Na minha concepção não é a mesma coisa.