1. 程式人生 > >過載與重寫的區別(overload與override);

過載與重寫的區別(overload與override);

重寫與過載的主要區別:(方法也叫做函式)

(1)存在的位置;(2)方法名、引數列表和返回值;(3)修飾符、異常。

過載(overload)的特點:

1:存在於同類之中,也存在於子類與父類之中。

2:方法同名,引數列表不一樣。函式的返回值型別不做要求。

3:方法的異常型別和異常的數目不會對過載造成影響。

重寫(override)的特點:

1:存在於子類於父類之間。

2:方法名、引數列表、返回值相同。重寫方法的方法名,引數列表(引數個數,引數順序,引數型別),返回值都要與被重寫函式的嚴格相同。

3:重寫函式的訪問控制符一定要大於被重寫函式的訪問修飾符(public>protected>friendly>private)。

4:重寫方法一定不能丟擲新的檢查異常,或者不能比被重寫的方法宣告更加寬泛的檢查型異常。例如:

父類的一個方法(函式)聲明瞭一個檢查異常IOException。在重寫這個方法時,不能再丟擲Exception,只能丟擲IOException的子類異常,也可以丟擲非檢查異常或者不丟擲異常。

5:方法定義為final時不能被重寫。