1. 程式人生 > >java關於函式過載(overload)和函式覆蓋(override)區別

java關於函式過載(overload)和函式覆蓋(override)區別

函式過載(overload):

概念:在同一個類中,允許存在一個以上的同名函式,只要它們的引數個數或者引數型別不同即可。

特點:與返回值型別無關,只看引數列表。

優點:方便閱讀,優化設計。

注意:不能有兩個名字相同,引數型別,引數個數也相同卻返回不同型別值的函式。

例:int add(int x, int y){return x+y;}

         Int add(int x,int y,int z){return x+y+z;}

函式覆蓋(override):

概念:出現在繼承的關係中,子類中出現了與父類一模一樣的方法時,會有覆蓋操作。

特點:(1)靜態函式只能覆蓋靜態函式;

    (2)覆蓋時,子類方法許可權一定要大於父類方法許可權;

    (3)不能丟擲新的異常,或者父異常。

應用情景:當子類需要父類功能,而功能主體子類有自己特有功能時,可以複寫父類中的方法,這樣既包括了父類的功能,又定義了子類特有的功能。