Java中的抽象方法宣告可以包含throws子句嗎?
沒有方法體的方法稱為抽象方法。它只包含方法簽名和一個分號,以及在其之前的一個abstract關鍵字。
public abstract myMethod();
是的,你可以從抽象類中丟擲異常。
示例
在下面的Java程式中,我們有兩個類:一個名為MyClass的抽象類,它有一個抽象方法(display()),另一個類繼承了該抽象類。
這裡,display() 抽象方法丟擲一個IOException。
示例
import java.io.IOException;
abstract class MyClass {
public abstract void display() throws IOException;
}
public class AbstractClassExample extends MyClass{
public void display() throws IOException {
System.out.println("This is the subclass implementation of the display method");
}
public static void main(String args[]) {
try {
new AbstractClassExample().display();
}
catch (IOException e) {
e.printStackTrace();
}
}
}輸出
This is the subclass implementation of the display method
在從子類覆蓋抽象方法時,你需要遵循以下規則:
如果超類中的抽象方法丟擲某些異常,實現的方法可以丟擲相同的異常。
如果超類中的抽象方法丟擲某些異常,實現的方法可以選擇不丟擲任何異常。
如果超類中的抽象方法丟擲某些異常,實現的方法可以丟擲其子型別。
如果超類中的抽象方法丟擲某些異常,實現的方法不應該丟擲其超型別。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP