重寫方法的規則:
1、引數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是過載。
2、返回的型別必須一直與被重寫的方法的返回型別相同,否則不能稱其為重寫而是過載。
3、訪問修飾符的限制一定要大於被重寫方法的訪問修飾符(public>protected>default>private)
4、重寫方法一定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常。例如:
父類的乙個方法申明了乙個檢查異常ioexception,在重寫這個方法是就不能丟擲exception,只能丟擲ioexception的子類異常,可以丟擲非檢查異常。
而過載的規則:
1、必須具有不同的引數列表;
2、可以有不責罵的返回型別,只要引數列表不同就可以了;
3、可以有不同的訪問修飾符;
4、可以丟擲不同的異常;
重寫與過載的區別在於:
重寫多型性起作用,對呼叫被過載過的方法可以大大減少**的輸入量,同乙個方法名只要往裡面傳遞不同的引數就可以擁有不同的功能或返回值。
用好重寫和過載可以設計乙個結構清晰而簡潔的類,可以說重寫和過載在編寫**過程中的作用非同一般.
重寫:
子類函式的訪問修飾許可權不能少於父類的。
重寫方法只能存在於具有繼承關係中,重寫方法只能重寫父類非私有的方法。
父類方法一但被final時,無論該方法被public,protected及預設所修飾時,子類根本不能重寫父類此方法。
父類方法被預設修飾(default)時,只能在同一包中,被其子類被重寫,如果不在同一包則不能重寫。
父類方法被protoeted時,不僅在同一包中,被其子類被重寫,還可以不同包的子類重寫。
**:
三大特性 封裝 繼承 多型
物件導向的三大特性 封裝,繼承,多型 封裝 物件的便捷對物件的內部起到保護作用 資料隱藏 四種訪問修飾符 public公開 可以繼承 default本類和同包可以訪問 如果乙個屬性既不是public也不是private 那就預設是default 同包的子類可以繼承 private私有 只能在本類內部...
Java三大特性 封裝,繼承,多型
封裝的作用 1 封裝能夠減少耦合 2 類內部結構可以自由修改 3 對成員變數進行更精確的控制 例項 public class person在上面這段 中,把屬性定義成private私有的,只能在本類中訪問,其他類訪問不了。public class person public string getna...
java三大特性 封裝,繼承,多型
使用封裝有三大好處 1 良好的封裝能夠減少耦合。2 類內部的結構可以自由修改。3 可以對成員進行更精確的控制。4 隱藏資訊,實現細節。5 封裝我們也能夠對物件的出口做出很好的控制,訪問入口做一些控制 如對實體類進行屬性封裝方法 setter 和getter 同時在使用繼承時需要記住三句話 1 子類擁...