首頁 >Java >Java入門 >java中的重載與重寫有什麼差別

java中的重載與重寫有什麼差別

王林
王林原創
2020-10-19 15:25:5455435瀏覽

java中的重載與重寫的區別:1、重載發生在本類,重寫發生在父類與子類之間;2、重載的方法名必須相同,重寫的方法名相同且傳回值類型必須相同;3、重載的參數清單不同,重寫的參數清單必須相同。

java中的重載與重寫有什麼差別

重載(Overloading)

#(推薦教學:java課程

重載發生在本類別,方法名稱相同,參數清單不同,與傳回值無關,只和方法名稱,參數清單,參數的型別有關.

重載(Overload):首先位於一個類別之中或其子類別中,具有相同的方法名,但是方法的參數不同,傳回值類型可以相同也可以不同。

(1):方法名稱必須相同

(2):方法的參數清單一定不一樣。

(3):存取修飾符和回傳值類型可以相同也可以不同。

其實簡單而言:重載就是對於不同的情況寫不同的方法。例如,在同一個類別中,寫不同的建構子用來初始化不同的參數。

重寫(Overriding)

重寫發生在父類別子類別之間,例如所有類別都是繼承與Object類別的,Object類別中本身就有equals,hashcode,toString方法等.在任意子類別中定義了重名和同樣的參數列表就構成方法重寫.

重寫(override):一般都是表示子類別和父類別之間的關係,其主要的特徵是:方法名相同,參數相同,但具體的實作不同。

重寫的特徵:

(1):方法名稱必須相同,傳回值類型必須相同

(2):參數清單必須相同

#(3):存取權限不能比父類別中被重寫的方法的存取權限更低。例如:如果父類別的一個方法被宣告為public,那麼在子類別中重寫該方法就不能宣告為protected。

(4):子類別和父類別在同一個套件中,那麼子類別可以重寫父類別所有方法,除了宣告為private和final的方法。

(5):建構方法不能被重寫,

簡單而言:就是具體的實作類別對於父類別的該方法實作不滿意,需要自己在寫一個滿足於自己要求的方法。

相關推薦:java入門

以上是java中的重載與重寫有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多