首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 方法覆寫異常限制:檢查型異常不可擴大、構造器例外

     編輯:Java 相關知識

核心規則

  • 覆寫方法 不可拋出新的檢查型異常,只能拋出父類方法聲明的異常或其子類。
  • 可拋出更少或不拋出異常(縮小範圍)。
  • 非檢查型異常 (RuntimeException 及其子類) 不受限制。

構造器特例

構造器可拋出任意異常,但必須聲明父類構造器的所有檢查型異常(因隱式呼叫 super())。

介面與實作

  • 介面方法聲明異常,實作類覆寫時受相同限制。
  • 若介面方法不在父類中,實作類可自由聲明異常。

向上轉型捕獲

Inning i = new StormyInning();
i.atBat(); // 必須捕獲父類 Inning.atBat() 聲明的 Strike, Foul

編譯器強制捕獲靜態類型聲明的異常,保證多型替換安全。

異常規範非類型一部分

方法簽名僅含名稱與參數類型,異常規範不參與覆寫判定,但受編譯器強制約束。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved