Ich habe eine Methode von übergeordnet überschrieben und eine throws
Deklaration für diese Methode hinzugefügt. Es gab mir einen Fehler, als ich throws Exception
und throws FileNotFoundExceprion
hinzufügte aber mit throws NullPointerException
arbeitete. Was ist der Grund?Warum NPE funktioniert, aber nicht Exception und FileNotFoundException
class Vehicle {
public void disp() {
System.out.println("in Parent");
}
}
public class Bike extends Vehicle {
public void disp()throws NullPointerException {
System.out.println("in Child");
}
public static void main(String[] args) {
Vehicle v = new Bike();
v.disp();
}
}
Da NullPointerException RuntimeException erweitert und die Überschreibung nicht verletzt wird – Silvinus
Sie können keine überprüfte Ausnahme auslösen, wenn Sie eine Methode überschreiben, die nicht deklariert, dass sie ausgelöst wird. – khelwood
Nicht sicher, warum Sie downvoted werden. Für jemanden, der die Feinheiten über geprüfte und ungeprüfte Ausnahmen in Java nicht kennt, kann dies sehr verwirrend sein. Und ich weiß nicht, dass ich in diesem Fall herausfinden würde, wonach ich googeln soll. – sstan