方法的重寫
1.什麼是方法的重寫(override 或 overwrite)?
在了類的繼承以後,子類可以對父類中繼承來的方法進行「覆蓋」或「覆寫」
2.舉例:
class circle//返回圓的面積
}class cylinder extends circle//返回圓柱的表面積
}3.重寫的規則:
方法:許可權修飾符 返回值型別 方法名(形參列表)
* 子類:重寫的方法 ; 父類:被重寫的方法
重寫的規則:
1.子類重寫的方法的方法名、形參列表 要與父類被重寫的方法的方法名、形參列表相同
2.子類重寫的方法的許可權修飾符 不小於 父類被重寫的方法的許可權修飾符
* 特別的:子類不能重寫父類中宣告為private的方法。
3.如果父類中被重寫的方法的返回值型別為void,那麼子類重寫的方法的返回值型別也是void,如果果父類中被重寫的方法的返回值型別不是void,而是具體的型別;那麼子類重寫的方法的返回值
* 型別不大於父類被重寫的方法的返回值型別。
* 比如:父類的返回值型別:object。 子類的返回值型別:string 或 object
* 4*.子類重寫的方法丟擲的異常型別不大於 父類被重寫的方法丟擲的異常型別
********************************************
注意:子類與父類中同名同引數的方法要麼都宣告為static的(不叫重寫),要麼都宣告為非static的。(即為重寫)
4.面試題:
方法的重寫和過載的區分?(重點掌握)
方法的重寫
方法的重寫 overwrite override 定義 指子類與父類的方法返回型別一樣,方法名稱一樣 引數一樣,這樣我們可以說子類與父類的方法構成了重寫關係。方法的重寫 又叫做覆蓋或覆寫 例項理解 比如說定義乙個動物類,裡面有乙個方法是動物sing,而有乙個貓類繼承了動物類,但它不想顯示動物在sin...
方法的重寫
目前的問題 父類的功能無法滿足子類的需求。方法重寫的前提 必須要存在繼承的關係。方法的重寫 子父類出了同名的函式,這個我們就稱作為方法的重寫。什麼是時候要使用方法的重寫 父類的功能無法滿足子類的需求時。方法重寫要注意的事項 1.方法重寫時,方法名與形參列表必須一致。2.方法重寫時,子類的許可權修飾符...
方法的重寫
方法的重寫 overwrite override 定義 指子類與父類的方法返回型別一樣,方法名稱一樣 引數一樣,這樣我們可以說子類與父類的方法構成了重寫關係。方法的重寫 又叫做覆蓋或覆寫 例項理解 比如說定義乙個動物類,裡面有乙個方法是動物sing,而有乙個貓類繼承了動物類,但它不想顯示動物在sin...