1. 程式人生 > >Java的過載與重寫的區別

Java的過載與重寫的區別

一、過載

  1. 過載就是在類的同一種功能的多種實現方式,到底採用哪種方式,取決於呼叫者給出的引數。
  2. 過載是一個類中多型性的一種表現。
  3. 方法名相同,方法的引數型別、個數、順序至少有一項不同,方法返回型別可以不同(只是返回型別不一樣,不能構成過載),方法的修飾符可以不同(只是控制訪問修飾符不同,不能構成過載)。
  4. 過載是最典型的就是一個類的不同的建構函式。

二、重寫

  1. 重寫父類與子類之間多型性的一種表現
  2. 方法重寫就是子類有一個方法,和父類的某個方法的名稱、返回型別、引數一樣,那麼我們就說子類的這個方法覆蓋了父類的那個方法。
  3. 子類的方法的返回型別,引數,方法名稱,要和父類的返回型別,引數,方法名稱完全一樣,否則編譯出錯。
  4. 子類方法不能縮小父類方法的訪問許可權。
  5. 子類方法丟擲異常的範圍不能大於父類方法丟擲異常的範圍。
  6. 若父類方法沒有丟擲異常,則子類方法也不允許丟擲異常。