java重写的特性解释
生活随笔
收集整理的這篇文章主要介紹了
java重写的特性解释
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
重寫的特性:*
1.發生方法重寫的兩個方法的方法名、參數列表必須完全一致(子類重寫父類的方法)
2.發生方法重寫的兩個方法的返回值,java 5或者以前,必須一樣,java 7 java 8可以不同,但是必須是父類返回值的派生類。
3.子類拋出的異常下不能超過父類相應方法拋出的異常(子類異常不能大于父類異常)
解釋:
(1)在java多態機制中,對象引用fs在編譯時期是屬于父類類型也即Father類型,但是在運行時fs屬于子類類型,也就是Son類型
(2)也就是說在編譯的時候,編譯器發現catch中的IOException完全能將父類方法中拋出的異常捕獲,因此編譯通過,但是在運 行時期,由于fs變成了子類類型,子類重寫的方法拋出的異常是Exception,顯然IOException不能捕獲這個比它更大的異常,因此在運行時期也就出現失敗
4.子類方法的訪問級別不能低于父類相應方法的訪問級別(子類訪問級別不能低于父類訪問級別)
解釋:
在一個軟件系統中,子類應該可以替換任何基類能夠出現的地方,并且經過替換以后,代碼還能正常工作。舉例、在父類中是public的方法,如果子類中將其降低訪問權限為private,那么子類中重寫以后的方法對于外部對象就不可訪問了,這個就破壞了繼承的含義
總結
以上是生活随笔為你收集整理的java重写的特性解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数组元素数组中的元素通过解析字符串参数获
- 下一篇: Java中基本数据类型和Object之间