1. 函式過載(overloding)
概念:同名函式具有不同的引數列表。
作用:實現單個類內部的多型性,是靜態多型。
注意點:
(1) 引數型別、個數、順序至少有乙個不相同。
(2) 不能通過
訪問許可權、
返回型別、
丟擲的異常進行過載。
2. 函式重寫(overrideing)
概念:在子類中定義某個方法與其父類有相同的名稱和引數;
子類物件引用或者
子類物件的父類引用使用這個方法時,將呼叫子類中的定義。
作用:在繼承中實現多型性,是父類與子類之間多型性的表現。
注意點:
(1) 方法名、引數、返回值必須相同。
(2) 子類方法不能縮小父類方法的訪問許可權。
(3) 子類方法不能丟擲比父類更多的異常(子類可以不丟擲異常)。
(4)被定義為final的方法不能被重寫。
3.判斷物件引用能否呼叫乙個方法的原則
(1) 向上轉型:
子類轉型成父型別。
(2) 子類物件引用:
方法存在子類定義中則可以呼叫,否則不可以呼叫。
(3) 父類物件引用:
方法存在父類定義中則可以呼叫,呼叫結果根據多型性原則;否則不可以呼叫。
// animal類
public
classanimal
} //
cat類
public
classcat
extendsanimal
//實現了overloading
public
voidintroduce(string name) }
// dog類
public
classdog
extendsanimal
//實現了overloading
public
voidintroduce(string name) }
// 測試類public
classtest }
執行結果如下:
i am an animal!
i am a cat!
i am a dog!
i am a cat!
i am a cat, my name is : jack
Java過載和重寫
過載,overload 這邊我喜歡把載讀作z i,即 裝 方法z i著引數,過載就是重新裝上不同的引數 相同名稱的方法,重灌他的引數列表,返回值也可以不同,具體選擇使用哪個函式,取決於它的引數型別,所以引數型別必須不同,否則就不是重灌了,而是同裝了 重寫,override 重寫是子類與父類的方法中存...
Java 重寫和過載
過載 如果乙個類中包含了兩個或兩個以上看同名函式的引數列表,但形參列表不同,則被稱為方法過載。原則 兩同一不同 即同乙個類中方法名相同,引數列表不同。與返回值型別 修飾符等無關。public class overload 過載test方法 public void test string s publ...
java 過載和重寫
過載就是乙個概念,發生在乙個類裡面,構成過載的要素是形參型別 形參順序和形引數目不同,過載主要是為了更加靈活的呼叫同乙個類別的方法,而又不用起多個方法名,像常用的printlnstream類裡的println 方法就是乙個過載的方法,下面是乙個簡單的過載 public class overload ...