方法重載和重寫是不同的概念,主要有以下區別:
1、首先是含義不同
1)方法重載是在同一個類中,聲明多個同名方法,通過參數列表來區分不同的方法,與參數列表的數量、類型和順序有關,與修飾符和返回值類型以及拋出異常類型無關
2)方法重寫的前提是發生在具有繼承關系的兩個類之間,方法重寫有以下規則:
a.參數列表必須保持一致
b.返回值類型必須保持一致
c.方法名必須保持一致
d.重寫方法的訪問權限范圍必須大於等於父類方法
e.重寫方法的拋出異常類型范圍不能大於父類方法
2、方法的重載和重寫的作用不同
重載:在一個類中為一種行為提供多種實現方式並提高可讀性
重寫:父類方法無法滿足子類的要求,子類通過方法重寫滿足需求
實例:
重載:構造方法的重載、println()方法重載
重寫:Object類的toString()、equals()、hashCode()等都可以被子類重寫
用圖表表示如下: