java中方法的重載和覆蓋

java中方法的重載和覆蓋

先來了解一下這兩個名詞的含義。java

重載: 在一個類當中才能夠重載,方法名相同,參數個數不一樣或參數個數相同而參數類型不一樣。ide

覆蓋: 又稱重寫,在派生類(子類)中重寫基類(父類)的方法,名稱、參數、類型都必須相同。函數

       java中的方法重載發生在同一個類裏面兩個或者多個方法的方法名相同可是參數不一樣的狀況。與此相對,方法覆蓋是說子類從新定義了父類的方法。方法覆蓋必須有相同的方法名,參數列表和返回類型。spa

覆蓋者可能不會限制它所覆蓋的方法的訪問。繼承

1、重載(Overloading)

(1)方法重載是讓類以統一的方法處理不一樣類型數據的一種手段。多個同名函數同時存在,具備不一樣的參數個數(類型)。重載Override是一個類中多態性的一種表現。io

(2)java的方法重載,就是在類中能夠建立多個方法,他們具備相同的名字,但具備不一樣參數和不一樣的定義。調用方法時經過傳遞給他們不一樣的參數個數和參數類型來決定具體使用那個方法,這就是多態性。權限

(3)重載的時候,方法名要同樣,可是參數類型和個數不同,返回值類型能夠相同也能夠不一樣。沒法以返回類型來做爲重載函數的區分標準。引用

注意:方法

1.重載不能以返回值做爲區分標準;數據

2.重載不能以形參的不一樣名稱(例如形參int a和形參int b沒法區分)做爲區分標準。

2、重寫(Overriding)

(1)父類與子類的多態性,對父類的函數進行從新定義。若是在子類中定義某方法與其父類有相同的名稱和參數,咱們說該方法被重寫。在java中,子類可繼承父類的方法,則不須要從新編寫相同的方法。但有時子類並不想原封不動繼承父類的方法,而是想作必定的修改,這就採用方法重寫。方法重寫又稱方法覆蓋。

(2)若子類中的方法與父類的中的某一方法具備相同的方法名、返回類型和參數表,則新方法覆蓋原有的方法。如須要父類的原有方法,可使用super關鍵字,該關鍵字引用房錢類的父類。

(3)子類函數訪問權限大於父類。

順便提一下,java中代碼書寫方法時,特別要注意的一點:java中方法只能平級書寫,方法不能嵌套方法。

相關文章
相關標籤/搜索