java 子類重寫父類的方法,父類怎樣使用子類獨有的方法

重寫和重載

重寫是繼承的時候,重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。
重載,是在一個類裏面,方法名字相同,而參數不同。返回類型可以相同也可以不同。重載可以避免使用完全不同的方法來完成幾乎相同的任務,可以使方法根據受到的參數的不同,執行不同的操作。

子類重寫父類的方法

子類重寫了父類的方法,如果用父類的對象去調用,就會使用父類的實現
如果用子類的對象去調用,就會使用子類的實現。
如果是父類的聲明,子類的對象:

Father father = new Son();

上述father
(1)在Father類的main函數裏面,可以直接訪問Father沒有被重寫的方法
這是因爲子類繼承了這些方法,子類可以繼承父類允許訪問的變量和方法
(2)在Father類的main函數裏面,想訪問子類的重寫過的方法或者子類獨有的方法,必須要強制類型轉換。

(Son)father.SonFunction

(3)在Father類的main函數裏面,某方法被子類重寫過,但是想調用Father類被重寫之前的實現方法,就是指子類的對象要調用父類被重寫之前的方法。
需要在子類的實例方法中,使用super關鍵字調用父類的方法。
使用super關鍵字訪問超類:
只能在子類的構造函數或非靜態方法(實例方法)中訪問。

(4)在Son的main函數裏面,可以直接訪問Son的所有方法,包括重寫過的父類方法。
(5)在Son的main函數裏面,如果調用子類獨有的辦法,需要強制類型轉換

(Son)father.SonFunction

綜上,如果是父類聲明,子類實例化,想調用子類獨有的方法,必須要強制類型轉換。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章