(1)定義:在乙個類中具有多個方法名相同而引數列表不同的方法
(2)規則:
*方法名必須相同
*引數列表必須不同
*可以有不同返回值的型別
*可以有不同的訪問修飾符;
*可以丟擲不同的異常;
*過載方法可以通過this關鍵字相互呼叫
例:
public
class
animal
public string getname(string name)
int getname(int id)
private
void
getname(string name, int id)
private
void
getname(int id, string name)
public
static
void
main(string args)
}//輸出結果: 無引數方法
// goose
// 6
// 有引數方法1
// 有引數方法2
(1)定義:當乙個子類繼承乙個父類時,它同是繼承了父類的屬性和方法。子類可以直接呼叫父類的屬性和方法,如果父類的方法不能滿足子類的需求,則可以在子類中對父類的方法進行重寫(或覆蓋)。重寫後,子類物件使用該方法時,會執行子類中重寫的方法。
(2)規則:
*重寫方法名、引數和返回型別必須與父類方法定義一致;
*重寫方法的修飾符不能比父類方法嚴格;(public>protected>default>private)
*被重寫的方法不能為private,否則在其子類中只是新定義了乙個方法,並沒s有對其進行重寫。
*靜態方法不能被重寫為非靜態的方法(會編譯出錯)
*重寫方法如果有throws定義,那麼重寫方法throws的異常型別可以是父類方法throws的異常型別及其子類型別。
例:
public
class
animals
}class dog extends animal
public
static
void
main(string args)
}//輸出結果: 重寫此方法
// 食物: meat
(1)過載是在同乙個類中,方法名相同,但引數個數、引數型別、返回值型別可能不同,而重寫是子類重寫父類的方法,方法名、引數個數、引數型別、返回值型別均必須相同。
(2)重寫多型性起作用,對呼叫被過載過的方法可以大大減少**的輸入量
本人才疏學淺,如有錯誤,請指出~
謝謝
java 過載與重寫
方法過載 同乙個類裡面有多個同名的方法,這些方法除了名字相同,其他地方都可以不相同。例如 class just protected int try1 int i 方法重寫 子類中有乙個方法與父類中的某乙個方法名相同,除了方法體不同,其他地方都是相同的例如 class parent class chi...
java 過載與重寫
先來看下方法過載 overloading 的定義 如果有兩個方法的方法名相同,但引數不一致,哪麼可以說乙個方法是另乙個方法的過載。過載overloading是乙個類中多型性的一種表現。具體說明如下 例項 通過過載 mainclass 類的 printarray 方法輸出不同型別 整型,雙精度及字元型...
JAVA 重寫與過載
重寫 通過類的繼承關係,由於父類中的方法不能滿足新的要求,因此需要在子類中修改從父類中繼承的方法叫重寫 覆蓋 1 方法名 引數列表 返回值型別與父類的一模一樣,但方法的實現不同。若方法名 引數列表相同,但返回值型別不同會有變異錯誤!若方法名 返回值型別相同,引數列表不同,則不叫重寫了。2 子類若繼承...