JAVA面向對象學習,通過案例演示Java中方法重寫和final關鍵字

JAVA面向對象學習之方法重寫和final關鍵字

21.1 方法重寫的概述及應用

1、概念:方法重寫是指子父類出現了相同的方法。

2、方法重寫的應用:當子類需要父類的功能,而功能主體子類有自己特有內容時,可以重寫父類中的方法。這樣,即繼承了父類的功能,又定義了子類特有的內容。

案例演示如圖1所示:

JAVA面向對象學習,通過案例演示Java中方法重寫和final關鍵字

圖1

說明:iOS7系統Siri只具有speak English的功能,升到iOS8系統後,它既會英文,也會說中文,也就是繼承了7的功能,又新增了中文的功能。

3、方法重寫的注意事項:

3.1 父類中的私有方法不能被重寫,因為子類無法繼承父類的私有方法;

3.2 子類重寫父類方法時,訪問權限不能更低,最好是保持一致;

3.3 父類靜態方法,子類也必須通過靜態方法進行重寫,

3.4 子類重寫父類時,聲明也建議要一樣。

案例演示如圖2所示:

JAVA面向對象學習,通過案例演示Java中方法重寫和final關鍵字

圖2

4、方法重寫和重載的區別:

overload可以改變返回值類型,只看參數列表

方法重寫:子類中出現了和父類中方法聲明相同的方法,與返回值類型有關,返回值是一致;

方法重載:本類中出現的方法名一樣,參數列表不同的方法。與返回值類型無關。

子類對象調用方法時,先找子類本身,再找父類。

案例練習1演示如3所示:

JAVA面向對象學習,通過案例演示Java中方法重寫和final關鍵字

圖3

說明:本類中調用name,可直接用name調用;

但子類調用父類中的姓名時,可用getName(),也可用this.getName(),但不能直接用name調用。

案例練習2使用繼承實現貓和狗的案例,演示如4所示:

JAVA面向對象學習,通過案例演示Java中方法重寫和final關鍵字

圖4

21.2 final關鍵字

1、final概述:指最終的意思。

2、final修飾的特點:

2.1 修飾類,類不能被繼承;

2.2 修飾變量,變量就變成了成了常量,只能被賦值一次;

2.3 修飾方法,方法不能被重寫。

案例演示如圖5所示:

JAVA面向對象學習,通過案例演示Java中方法重寫和final關鍵字

圖5

3、final修飾局部變量:

案例演示機解析如圖6所示:

JAVA面向對象學習,通過案例演示Java中方法重寫和final關鍵字

圖6

3.1 final修飾變量的初始化時機:

a.在顯示初始時;

b.在對象構造完畢前即可。

案例演示如圖7所示:

JAVA面向對象學習,通過案例演示Java中方法重寫和final關鍵字

圖7

感謝支持,我是小區日記本,喜歡點關注。每天根據小編的學習,持續分享學習的筆記與心得。

案例代碼截圖僅包含部分,小編已整理了全部代碼並分享,可免費領取,私信

回覆2個字:代碼


分享到:


相關文章: