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 重寫方法一定...