過載與重寫的區別

2021-08-21 11:21:50 字數 1032 閱讀 5728

首先介紹一下過載(overload)

1.發生過載必須的條件就是要在乙個類中

2.過載的方法名必須相同,但引數列表不同。(引數列表包括:引數數量,引數順序,引數型別)

3.過載也包括構造方法。

**如下:

public class people

public int eating(string a ,int n)

public void eating(int n, string a)

}//構造方法

public class people

public people(int a)

}

重寫(override)

1.重寫發生在繼承中

2.當子類繼承父類以後,父類的方法中的行為仍然可以用,如果需要增強父類方法功能,對父類方法進行公升級。這時就需要重寫

public class man extends people

}

overload和override區別

比較點過載

重寫範圍

在同乙個類中

繼承關係中

方法宣告

方法名相同,引數列表不同

方法相同,引數列表相同

返回值型別

返回值型別沒有要求,因為返回值型別的不同,不會影響過載

子類中的返回值型別不能大於父類

訪問許可權

沒有要求

子類中的訪問許可權不能比父類的訪問許可權嚴格

範圍功能

方便記憶和使用

相似的方法實現不同的功能

增強父類定義方法功能,對父類方法進行公升級

注:過載是重新建立乙個新的方法,只是方法名一樣。重寫是子類對父類的某些方法進行公升級

1.重寫方法必須和被重寫方法具有相同的方法名、形式引數列表

2.重寫方法的返回值型別不能大於被重寫方法(相同或是其子類)

3.重寫的訪問許可權不能嚴於被重寫方法(相同或大於)

4.父類的靜態方法不能被子類父類為非靜態方法,反之亦然

過載與重寫區別

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

重寫與過載的區別

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

過載與重寫的區別

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