Mais um erro no livro de certificação

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.

Obviamente o tradutor “comeu bola” aí (trocou “d” por “a”). Provavelmente o original diz:

 3- d.doDogStuff(); 

Mas não tenho o original para lhe dizer.

O correto na linha 3 é d.doDogStuff(), leia a errata do livro:

http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=next_topic&f=24&t=034229&go=newer

Veja a observação para a pagina 115 no post.

e rpz eh verdade… e eu quando li isso visualizei d e nao a… meu deux… como ta mal minhas vistas…

eu li os 4 primeiros capítulos ingles dai o resto em portugues rsrsrsrs… senao ia demorar mto… então tenho os dois livros… tomara q os erros só estejam no começo kkkk (do traduzido)