A quem interessar a informação no quadro de aviso observação para o exame, da página 63, do livro K&B SCJP esta incorreta…
o código informado la
[code]class Animal {
public void eat() throws Exception {//lança exceções
}
}
class Dog2 extends Animal {
public void eat() {//sem exceções
}
public static void main(String ... args) {
Animal a = new Dog2();
Dog2 d = new Dog2();
d.eat();
}
}[/code]
segundo o texto esse código não compilaria, o que não é verdade, o código compila normalmente, o que não é possivel é referencia “a.eat();” sem tratar a exceção lançada, mais d.eat(); não lança exceções…
acredito que seja erro de digitação e o código em inglês deva ser algo parecido com o abaixo
[code]class Animal {
public void eat() throws Exception {//lança exceções
}
}
class Dog2 extends Animal {
public void eat() {//sem exceções
}
public static void main(String ... args) {
Animal a = new Animal();
Animal d = new Dog2();
d.eat(); //este sim não compila neste ponto, por não tratar a exceção, referente a nimal...
}
}[/code]