天天看點

java重寫與重載的原理與差別

1.重載(overloading):指一個類中具有多個名字相同的方法,他們的參數類型和參數數量不相同.

a.方法的重載是讓類以統一的方式處理不同類型資料的一種方式,多個相同函數名的存在在,具有不同的參數類型與個數,重載是一個多态的一種表現.

b.java方法的重載,多個同名函數,它們具有相同的名字,但具有不同的參數和定義,調用方法時通過傳遞給它們的不同參數類型與個數來決定具體使用使用哪個方法.

c.重載方法的傳回值可以相同也可以不同,無法以傳回值作為重載函數的差別标準.

2.重寫(overriding):子類對父類中的方法進行重制編寫

a.父類與子類之間的多态性,對父類函數的進行重新定義.如果在子類定義某方法,與其父類具有相同的函數名以及參數,我們則說該方法被重寫,java中子類可繼承父類中的方法,而不需要重新編寫相同的方法.

b.若子類中的方法與父類中的方法具有相同的方法名,傳回類型和參數表,則新方法覆寫原來的方法,如果需要調用父類中的方法,可使用關鍵字 super來調用.

ps: 1.子類不能重寫父類中的final方法.

2.子類不能重寫父類中的abstract方法