重寫

當一個子類繼承一父類,而子類中的方法與父類中的方法的名稱,參數個數、類型都完全一致時,就稱子類中的這個方法重寫了父類中的方法。通常,派生類繼承基類的方法,因此,在調用對象繼承方法的時候,調用和執行的是基類的實現.但是,有時需要對派生類中的繼承方法有不同的實現.

基本內容

通常,派生類繼承基類的方法,因此,在調用對象繼承方法的時候,調用和執行的是基類的實現.但是,有時需要對派生類中的繼承方法有不同的實現.

例如,假設動物類存在"跑"的方法,從中派生出馬和狗,馬和狗的跑得形態是各不相同的,因此同樣方法需要兩種不同的實現,這就需要"重新編寫"基類中的方法.

"重寫"基類方法就是修改它的實現或者說在派生類中重新編寫

//java代碼

//方法重寫

public class Father {

public void ovel(int i){

/*do something...*/ }

public String ovef(){

/*do something...*/

return "***"; } }

public class Sun extends Father{

public void ovel(int i){

/*do other something...*/ }

public String ovef(){

/*do other something...*/

return "XXX"; } }

總結:重寫— 1、必須是在繼承里, 2、方法名、返回值類型、參數個數和參數類型 都必須相同 3、派生類重寫的方法的訪問許可權不能低於基類的許可權

總結

1、必須是在繼承里

2、方法名、參數個數和參數類型 都必須相同

3、jdk1.5以後,返回值類型可以與父類相同,也可以與父類不同,但是要求返回值類型是父類的子類。如: 父類的返回值類型是Object類,子類的返回值可以是Object類的子類比如String

4、派生類重寫的方法的訪問許可權不能低於基類的許可權

5、派生類拋出的異常應該和基類相等或比基類更小

相關詞條

相關搜尋

熱門詞條

聯絡我們