JAVA 函式過載和重寫

2021-06-26 11:26:47 字數 1830 閱讀 7514

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 ...