java中的重載與重寫的區別:1、重載發生在本類,重寫發生在父類與子類之間;2、重載的方法名必須相同,重寫的方法名相同且傳回值類型必須相同;3、重載的參數清單不同,重寫的參數清單必須相同。
重載(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中文網其他相關文章!