重寫與過載的區別

2021-06-21 15:20:00 字數 584 閱讀 2394

1、過載:

1)是指方法名一樣,引數不同的幾個方法,它們的功能相近;

2)呼叫的時候是根據呼叫「引數的型別」來識別方法。

2、重寫(也是方法的覆蓋)

1)是子類中修改父類中方法的方法;

2)在子型別中定義,與父型別中的方法名和引數都一樣的方法;

3)在呼叫是,是根據「物件的型別」來呼叫相應的方法。

舉個例子:

public class demo08 }

class coo

public void t(sub obj)

}class super

}class sub extends super}

首先,super obj=new sub();這裡的super是obj的型別,而sub是物件,之後執行到t.t(obj);時,因為obj的型別是super型別的,所以呼叫的是coo類下的public void t(super obj)方法,輸出c,接著執行obj.t()語句,又因為obj的物件是sub型別的,所以執行的是class sub extends super下的語句,輸出d。

在這裡,若物件的型別改為super型別的,則最後輸出的是ca。

過載與重寫區別

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

過載與重寫的區別

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

過載與重寫的區別

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