過載與重寫的區別

2021-07-24 05:00:56 字數 890 閱讀 8960

過載:是指乙個類中定義多個方法名相同,引數列表不同的方法,在編譯時,根據引數的個數,型別,順序來決定繫結哪個方法。

重寫:是指在子類中定義和父類完全相同的方法,在程式執行時,根據物件的型別(而不是引用型別)呼叫不同的方法。

/**

* 方法過載:指的是方法名相同的完全不同的方法。(引數型別,引數個數和引數順序不同)

* 在呼叫過載方法時,根據方法名和引數列表確定呼叫哪個方法。與返回值無關。

* 私有方法只能被過載,不能被重寫

* @author hezhi

* */

public class overloaddemo

}class a

public void test(int i , int j)

public void test(int i , double j)

public void test(double i , int j)

}

/**

* 方法重寫:在子類中重寫和父類一樣的方法,建構函式,靜態方法,私有方不能被重寫

* 子類重寫父類方法的規則:返回值要相容,修飾詞要更加開放,異常要更加具體

* @author hezhi

* */

public class overridedemo

}class foo

public foo(int a)

protected void test() throws runtimeexception

}class goo extends foo

public void test() throws nullpointerexception

}

過載與重寫區別

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

重寫與過載的區別

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

過載與重寫的區別

重寫方法的規則 1 引數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是過載。2 返回的型別必須一直與被重寫的方法的返回型別相同,否則不能稱其為重寫而是過載。3 訪問修飾符的限制一定要大於被重寫方法的訪問修飾符 public protected default private 4 重寫方法一定...