如果父類中的某個方法“throws Exception”,我們能否在java中的重寫方法中將其移除?
在重寫父類方法時丟擲異常時,你需要遵循一些規則。
- 子類方法應丟擲相同的異常或子型別異常
- 它不應丟擲超型別異常
- 你可以在子類中不丟擲任何異常而保留該方法
根據第三條規則,如果父類方法丟擲某個異常,你可以在不丟擲任何異常的情況下重寫該方法。
示例
在下面的示例中,父類的 sampleMethod() 方法丟擲了 FileNotFoundException 異常,而 sampleMethod() 方法根本沒有丟擲任何異常。此程式仍然可以編譯和執行,沒有任何錯誤。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
abstract class Super{
public void sampleMethod()throws FileNotFoundException{
System.out.println("Method of superclass");
}
}
public class ExceptionsExample extends Super{
public void sampleMethod() {
System.out.println("Method of Subclass");
}
public static void main(String args[]) {
ExceptionsExample obj = new ExceptionsExample();
obj.sampleMethod();
}
}輸出
Method of Subclass
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP