011-方法的重寫(override/overwrite)

聲明:個人全部文章,都是對網上教學視頻的整理,包括狂神說、尚硅谷、黑馬程序員等等,用來做爲參考資料,無任何商業使用,請廣大網友參考,不喜勿噴,謝謝。(注意,因爲網站的緣由,有些代碼字符可能會出現問題,建議你們閱讀代碼時,最好和下面的圖片對應來看)程序員

1、定義

在子類中能夠根據須要對從父類中繼承來的方法進行改造,也稱爲方法的重置、覆蓋。在程序執行時,子類的方法將覆蓋父類的方法。ide

2、要求

1.子類重寫的方法必須和父類被重寫的方法具備相同的方法名稱、參數列表
2.子類重寫的方法的返回值類型不能大於父類被重寫的方法的返回值類型
3.子類重寫的方法使用的訪問權限不能小於父類被重寫的方法的訪問權限,而且子類不能重寫父類中聲明爲private權限的方法
4.子類方法拋出的異常不能大於父類被重寫方法的異常


網站

3、注意

子類與父類中同名同參數的方法必須同時聲明爲非static的(即爲重寫),或者同時聲明爲 static的(不是重寫)。由於static方法是屬於類的,子類沒法覆蓋父類的方法。spa

4、示例

011-方法的重寫(override/overwrite)
在上面代碼的基礎上,咱們來分析下面這幾行代碼:
Person p1 = new Person();
p1.getInfo(); //調用Person類的getInfo()方法
Student s1 = new Student();
s1.getInfo(); //調用Student類的getInfo()方法
這是一種「多態性」:同名的方法,用不一樣的對象來區分調用的是哪個方法。





視頻

相關文章
相關標籤/搜索