Salve. Non riesco a capire perché questo semplice programma non viene compilato.
codice:
class Animale {  
  public void padrone() throws Exception {
    System.out.println("Ho un animale");
  }
}
public class Cane extends Animale {
  public void padrone() {
    System.out.println("Ho un cane");
  }
  public static void main(String[] args) {
    Animale g = new Cane();
    g.padrone();
  }
}
Nell'override di un metodo che prevede eccezioni, posso prevedere eccezioni uguali al metodo iniziale o appartenenti a una sua sottoclasse di eccezioni ivi inclusa l'assenza di eccezioni, quindi dovrebbe andare bene e stamparmi "Ho un cane".
Dove l'inghippo?