我已經覆蓋父方法並在該方法上添加了一個throws
聲明。當我添加throws Exception
和throws FileNotFoundExceprion
時,它給了我錯誤,但與throws NullPointerException
一起工作。是什麼原因?爲什麼NPE的工作原理,但不是例外和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();
}
}
因爲NullPointerException擴展了RuntimeException並且這不會中斷覆蓋 – Silvinus
當您覆蓋不聲明它拋出它的方法時,不能拋出檢查異常。 – khelwood
不知道你爲什麼被低估。對於不瞭解Java中已檢查和未檢查異常的細節的人來說,這可能會讓人感到困惑。而且我不知道在這種情況下我會弄清楚Google要做什麼。 – sstan