亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

注意:

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

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

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{ }
}

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

大概就是這個(gè)意思。

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    MyBatisPlus之id生成策略的方法

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

最新評論