Java中field的覆写_Java中方法的覆写
【套裝4本】java編程思想4第4版+
402.5元
包郵
(需用券)
去購買 >
一、方法的重寫概念
之前說了子類如果繼承了一個父類,那么子類就會擁有父類的方法(不包括構.造方法)和屬性,此時如果在子類中定義了一個和父類一樣的方法,這種現象叫做子類覆寫(重寫)了父類的方法。
DEMO:重寫父類父類方法
以上的代碼如果實例化一個Stundent子類對象,然后調用getInfo()則調用的是子類還是父類的getInfo()方法呢?
DEMO:觀察代碼
發現了調用的是子類中的方法,就是說子類的getnfo()覆蓋了父類的getInfo()方法,其實上在調用的時候先在子類中查找調用的方法,如果有則直接調用,如果沒有就往父類中查找,如果還沒有繼續往父類的父類中查找,如果最終都沒有找到,則編.譯不通過。
二、實現覆寫需要哪些要求
1、要求子類的方法名稱和父類的一致,而且參數列表要一致。
在主方法調用了getInfo()方法,會Student類中查找該方法,但是Student類中沒有這個無參數的getInfo()方法,所以往父類中查找,最后就調用了父類的getInfo()
2、如果子類的方法的訪問權限和父類的方法的訪問權限不同呢?
子類中重寫的方法的訪問權限只能比父類的大,不能比父類的小,也就是說子類重寫的方法不能擁有比父類更為嚴格的訪問權限(正常開發訪問權限都是一樣的)。
3、如果子類覆寫的方法和父類的方法返回值不一樣呢?
如果父類方法和子類覆寫 的方法的訪問權限一樣則返回值必須一致,如果訪問權限不一樣則返回值可以不--致(正常開發中返回值和訪問權限都是--致的)
面試題:請說明重載和重寫的區別?
●重載:
發生在一個類中
對返回值沒有要求(但是正常都會保持- -致)
對訪問權限沒有要求(但是正常都會保持一致)
表示重載的單詞是overloading
●重寫:
發生在繼承關系中(子類和父類)
子類不能擁有比父類更小的訪問權限
如果子類和父類訪問權限--致則返回值必須要相同,否則可以不同
表示重寫的單詞是override
總結:
1、方法重寫的概念
2、方法重寫的要求.
3、如果子類覆寫了父類的方法,那么在調用的時候是調用子類的方法
有完整的Java初級,高級對應的學習路線和資料!專注于java開發。分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分布式及面試資料、開源項目,助力開發者成長!
歡迎關注微信公眾號:碼邦主
java 11官方入門(第8版)教材
79.84元
包郵
(需用券)
去購買 >
總結
以上是生活随笔為你收集整理的Java中field的覆写_Java中方法的覆写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java命令依赖第三方jar原理_jav
- 下一篇: java 方法继承方法_Java继承和方