java中的方法覆蓋(Overriding)和方法重載(Overloading)是什么意思?重寫跟重載的區別?


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

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

重載(Overloading)

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

(2)java的方法重載,就是在類中可以創建多個方法,他們具有相同的名字,但具有不同參數和不同的定義。調用方法時通過傳遞給他們不同的參數個數和參數類型來決定具體使用那個方法,這就是多態性。

(3)重載的時候,方法名要一樣,但是參數類型和個數不一樣,返回值類型可以相同也可以不同。無法以返回類型來作為重載函數的區分標准。

重寫(Overriding)

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

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM