什麼叫方法的重寫,可能很多人都會喜歡玩電腦,但是有些人雖然並不喜歡玩電腦但是卻要每天面對著電腦,那就是程式設計師了,那麼大家知道什麼叫方法的重寫嗎?接下來就跟著小編一起來看看相關內容吧。
什麼叫方法的重寫1
方法重寫
在Java和其他一些高階面向物件的程式語言中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要採用方法的重寫。方法重寫又稱方法覆蓋。
方法重寫概念
方法的重寫是指兩個方法的返回值、方法名、引數的型別和個數相同(子類重寫父類的方法)。
方法的重寫,不能發生在同類中,只能發生在子類中。
若子類中的方法與父類中的某一方法具有相同的方法名、返回型別和引數表,則新方法將覆蓋原有的方法。 如需父類中原有的方法,可使用super關鍵字,該關鍵字引用了當前類的父類。
方法重寫的許可權:子類中的許可權大於或等於父類的許可權,(修飾符高低:private < 預設修飾符 特殊情況:子類不能重寫父類被宣告為private許可權的方法。 注意事項 方法的隱藏 如果子類中定義的靜態方法(類方法)與父類中靜態方法(類方法)具有相同的返回值型別、方法名、方法引數的型別和個數完全相同,則稱子類中的該方法“隱藏”了父類中的該方法。當子類建立的物件呼叫該隱藏方法時,預設呼叫的是子類中的方法。 方法重寫與方法過載區別 方法的過載是方法的引數個數或型別不同,方法名相同。 方法重寫是要注意許可權的問題,子類中的許可權不能小於父類的許可權,當父類的許可權為private時,子類無法繼承。也就無法產生所謂的.重寫。(修飾符高低:private < 預設修飾符 < public) 什麼叫方法的重寫2 特性 關於方法重寫的一些特性: 1、發生方法重寫的兩個方法返回值、方法名、引數列表必須完全一致(子類重寫父類的方法) 2、子類丟擲的異常下不能超過父類相應方法丟擲的異常(子類異常不能大於父類異常) 3、子類方法的訪問級別不能低於父類相應方法的訪問級別(子類訪問級別不能低於父類訪問級別) 根據2,3條可以確定第一條,子類重寫父類方法的返回值型別不能大於父類方法的返回值型別,即是說子類方法的返回值必須和父類方法的返回值相同或是其子類。