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
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();
}
}
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
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...
}
}