java基礎知識 過載與重寫的區別

2021-07-30 09:12:30 字數 1410 閱讀 2493

(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 子類若繼承...