過載和重寫

2022-07-03 06:12:08 字數 935 閱讀 6499

方法的過載:

過載(overloading) 是在乙個類裡面,方法名字相同,而引數不同。返回型別可以相同也可以不同。每個過載的方法(或者建構函式)都必須有乙個獨一無二的引數型別列表。最常用的地方就是構造器的過載。

//以下兩個引數型別順序不同

public string test(int a,string s)  

public string test(string s,int a)  

被過載的方法必須改變引數列表(引數個數或型別不一樣);

被過載的方法可以改變返回型別;

被過載的方法可以改變訪問修飾符;

被過載的方法可以宣告新的或更廣的檢查異常;

方法能夠在同乙個類中或者在乙個子類中被過載。

無法以返回值型別作為過載函式的區分標準。

方法的重寫:

方法重寫的定義:重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。即外殼不變,核心重寫!

class animal

}class dog extends animal

public void bark()

}

判斷是否重寫的方式:在方法之前加上@

override

方法重寫的特點:

方法重寫的注意事項:

區別點過載方法

重寫方法

引數列表

必須修改

一定不能修改

返回型別

可以修改

一定不能修改

異常可以修改

可以減少或刪除,一定不能拋出新的或者更廣的異常

訪問可以修改

一定不能做更嚴格的限制(可以降低限制)

過載和重寫

物件導向的三大特性 繼承 封裝 多型。過載和重寫是多型的兩種表現形式。過載和重寫又有什麼區別呢?1 層次不同 重寫 發生在父類和子類之間。是子類重寫父類的方法,具有相同的方法名和方法引數。比如說,父子兩人都去吃飯 相同的方法 吃的是麵條 引數 父親飯量大,吃兩碗,兒子飯量小,就能吃一碗 實現了吃飯的...

過載和重寫

asp.net unity開發 net培訓 期待與您交流!過載 乙個類裡面有多個方法,方法名稱是相同的,返回值可以不同,引數列表的個數 型別 順序不同。區分過載方法可以通過引數列表的個數 型別 順序來決定呼叫哪個方法。過載可以子類過載父類的方法,並且可以靜態非靜態之間轉換。重寫 覆蓋 一般是指父類和...

重寫 和 過載

型構就是指方法的組成結構,具體包括方法的名稱和引數,涵蓋引數的數量 型別以及出現的順序,但是不包括方法的返回值型別,訪問許可權修飾符,以及abstract static final等修飾符。1.public void method int i,string s 4.5.public string m...