過載與重寫的區別

2021-10-09 23:59:37 字數 1026 閱讀 6452

過載的目的:節省類中的命名資源和提高**的可讀性。

過載是在乙個類中,

1、方法名相同

2、方法的引數不同(引數個數或者引數型別)

3、方法的返回值型別不影響過載

( 當兩個方法的名字相同,引數也相同,但是返回值不同的時候,不構成過載 )

class

test

public

static

intadd

(int x,

int y)

public

static

double

add(

int x,

int y)

}

子類實現父類的同名方法, 並且引數的型別和個數完全相同。

在子類繼承父類時,子類的方法和父類的方法相同(訪問修飾限制符,返回值型別,方法名,引數列表),方法體不同,這種子類的方法將父類的方法覆蓋叫做重寫。

在父子類的繼承中有相同的方法,唯一不同就是方法體,

一般是父類的該方法滿足不了子類的需求所以才發生重寫。

class

animal

}class

bird

extends

animal

}

重寫注意事項:

1. 重寫和過載完全不一樣,不要混淆

2. 普通方法可以重寫,static 修飾的靜態方法不能重寫

3. 重寫中子類的方法的訪問許可權不能低於父類的方法訪問許可權

過載與重寫都是實現多型的方式,

過載:實現的是編譯時的多型性

重寫:實現的是執行時的多型性n區別

過載重寫1概念

方法名稱相同,引數的型別及個數不同

方法名稱、返回值型別、引數的型別及個數完全相同2範圍

乙個類繼承關係3限制

沒有許可權要求

被重寫的方法不能擁有比父類更嚴格的坊控制許可權

過載與重寫區別

方法的過載 overload 在同一類中看相同但卻不同多樣性 要求 1.同乙個類中,2.方法名相同,3.方法的引數列表不同 引數型別 引數順序 補充 方法的過載與方法的返回值沒有關係 public class overload class testoverload public int getsum...

重寫與過載的區別

1 過載 1 是指方法名一樣,引數不同的幾個方法,它們的功能相近 2 呼叫的時候是根據呼叫 引數的型別 來識別方法。2 重寫 也是方法的覆蓋 1 是子類中修改父類中方法的方法 2 在子型別中定義,與父型別中的方法名和引數都一樣的方法 3 在呼叫是,是根據 物件的型別 來呼叫相應的方法。舉個例子 pu...

過載與重寫的區別

過載 是指乙個類中定義多個方法名相同,引數列表不同的方法,在編譯時,根據引數的個數,型別,順序來決定繫結哪個方法。重寫 是指在子類中定義和父類完全相同的方法,在程式執行時,根據物件的型別 而不是引用型別 呼叫不同的方法。方法過載 指的是方法名相同的完全不同的方法。引數型別,引數個數和引數順序不同 在...