欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中關(guān)于子類覆蓋父類的拋出異常問題

 更新時間:2019年04月10日 14:54:25   作者:yangyongUestc  
今天小編就為大家分享一篇關(guān)于Java中關(guān)于子類覆蓋父類的拋出異常問題,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

Java中子類覆蓋父類方法拋出異常不能比父類多,這個表述不夠準(zhǔn)確。

準(zhǔn)確一點的描述為:

子類拋出的異常類型不能比父類拋出的異常類型更寬泛。假設(shè)父類拋出異常ParentException,另外有兩個子類繼承自ParentException分別為ChildException1, ChildException2, 那么 子類可以同時拋出異常ChildException1,ChildException2. 滿足“子類拋出的異常類型不能比父類拋出的異常類型更寬泛”,這一條件。

注意:

子類也可以選擇不進行拋出任何異常,即使他們是父類所定義的異常。

為什么Java設(shè)計成這樣,下面舉個例子進行分析:

package exceptions;
class Sick extends Exception{}
class FeverSick extends Sick{}
class JointSick extends Sick{}
class Children extends People{
 public void coldAir() throws FeverSick{ }
}
class Adults extends People{
  public void coldAir(){}
}
class Olds extends People{
  public void coldAir() throws JointSick{ }
}
public class People {
 public void coldAir() throws Sick{ }
}

如上代碼,定義了一個父類People類,以及其三個子類Children, Adults, Olds. 假設(shè)在父類中有一個冷空氣事件,那么它就會拋出一個Sick類型的異常。但是由于三個子類的抵抗疾病的能力不同,那么Adults類由于抵抗力較強,其方法可能不拋出異常。而Children和Adults類型,由于抵抗力較弱,可能拋出Sick類型的不同子類型。但是需要注意的是,子類不能拋出與Sick類完全不相關(guān)的異常類型,例如身高Height類型。因為必須把父類作為一個大前提,其子類不能拋出比父類異常更加出格的異常,否則無法進行識別。

大概就是這個意思。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • IDEA 2020 無法啟動的解決辦法(啟動崩盤)附IDEA 2020 新功能

    IDEA 2020 無法啟動的解決辦法(啟動崩盤)附IDEA 2020 新功能

    這篇文章主要介紹了IDEA 2020 無法啟動的解決辦法(啟動崩盤)附IDEA 2020 新功能,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Java如何實現(xiàn)判斷并輸出文件大小

    Java如何實現(xiàn)判斷并輸出文件大小

    這篇文章主要介紹了Java如何實現(xiàn)判斷并輸出文件大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 詳解Spring Boot集成MyBatis(注解方式)

    詳解Spring Boot集成MyBatis(注解方式)

    本篇文章主要介紹了詳解Spring Boot集成MyBatis(注解方式),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 使用@Value為靜態(tài)變量導(dǎo)入并使用導(dǎo)入的靜態(tài)變量進行初始化方式

    使用@Value為靜態(tài)變量導(dǎo)入并使用導(dǎo)入的靜態(tài)變量進行初始化方式

    這篇文章主要介紹了使用@Value為靜態(tài)變量導(dǎo)入并使用導(dǎo)入的靜態(tài)變量進行初始化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 詳解springboot shiro jwt實現(xiàn)權(quán)限管理

    詳解springboot shiro jwt實現(xiàn)權(quán)限管理

    為什么使用jwt呢,因為可以通過URL,POST參數(shù)或者在HTTP header發(fā)送,因為數(shù)據(jù)量小,傳輸速度也很快。本篇通過具體代碼來進行詳情解析,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值
    2021-09-09
  • java設(shè)計模式-代理模式(實例講解)

    java設(shè)計模式-代理模式(實例講解)

    下面小編就為大家?guī)硪黄猨ava設(shè)計模式-代理模式(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 基于SpringBoot + Redis實現(xiàn)密碼暴力破解防護

    基于SpringBoot + Redis實現(xiàn)密碼暴力破解防護

    在現(xiàn)代應(yīng)用程序中,保護用戶密碼的安全性是至關(guān)重要的,密碼暴力破解是指通過嘗試多個密碼組合來非法獲取用戶賬戶的密碼,為了保護用戶密碼不被暴力破解,我們可以使用Spring Boot和Redis來實現(xiàn)一些防護措施,本文將介紹如何利用這些技術(shù)來防止密碼暴力破解攻擊
    2023-06-06
  • Maven學(xué)習(xí)教程之搭建多模塊企業(yè)級項目

    Maven學(xué)習(xí)教程之搭建多模塊企業(yè)級項目

    本篇文章主要介紹了Maven學(xué)習(xí)教程之搭建多模塊企業(yè)級項目 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java之dao模式詳解及代碼示例

    Java之dao模式詳解及代碼示例

    這篇文章主要介紹了Java之dao模式詳解及代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • MyBatisPlus之id生成策略的方法

    MyBatisPlus之id生成策略的方法

    本文主要介紹了MyBatisPlus之id生成策略的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評論