繼承、方法的重寫--java學習第9天

面向對象的特征二:繼承

1、為什么要設計繼承?

2、通過”class A extends B“實現類的繼承。

子類:A ? ? ? ? ? ? ? ? ? ? ? ? ?父類(或基類或SuperClass):B

3、子類繼承父類以后,父類中聲明的屬性、方法,子類都可以獲取到。? ? ? ? ? ? 明確:父類中私有的屬性或方法,子類同樣可以獲取到,只是由于封裝性(private)的設計,只是子類不可以直接調用罷了。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?若想子類可以調用父類的private 方法時,需要有getter、setter方法。 ? ? ? 子類除了通過繼承,獲取父類的結構之外,還可以定義自己特有的成分。? ? extends:子類并不是父類的子集,而是對父類功能的”擴展“。

4、java中類的繼承性只支持單繼承:一個類只能繼承一個父類,反之,一個父類可以被多個子類繼承。(一個兒子只能有一個父親,但是一個父親可以有多個兒子)

5、子類父類都是相對概念。子類可以再被其他類繼承,便又充當著父類的角色。


方法的重寫?修飾符 返回值類型 方法名 (參數列表){ }

1、前提:有子類繼承父類

2、子類繼承父類后,若父類的方法對子類不適用,那么子類可以對父類方法進行重寫(override ? overwrite)、覆蓋、覆寫。

3、重寫的規則:1)要求子類方法的 ”返回值類型 方法名 (參數列表)“與父類的方法一樣。2)子類方法的修飾符不能小于父類的修飾符(當父類是public時,因為public最大,子類不能小于它,也必須是public) 3)若父類方法拋異常,那么子類方法拋的異常不能大于父類的。4)子父類的方法必須同為static或同為非static的。

重寫的方法前面有一個綠色的小三角,意思為重寫。

當父類的方法中有private的方法時候,子類無法重寫父類的該方法,因為子類根本看不到父類的私有方法,因此此時可以隨便重新定義,所以也可以修改返回值類型。 ? ? ? ? ? ? ? 而真正的重寫,返回值類型必須是一樣的。只是可以修飾符不同。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,769評論 18 399
  • 1 面向對象No6 面向對象 OO Object Oriented 編程時以對象為單元,封裝數據和邏輯,以此提...
    征程_Journey閱讀 1,194評論 0 2
  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,614評論 4 12
  • 心情不佳,甚是想念閨密。本想提筆寫些暖心的話。轉而看了許久之前的日記。心情甚好。提筆已無思緒…… 我以我手寫我心,...
    默曦閱讀 306評論 0 0
  • 什么是家鄉呢?按照我們的傳統定義,似乎是我們出生、成長的地方,也就是我們的祖輩創造的地方。然而,隨著我們國家城市化...
    ConnecToMe閱讀 277評論 0 1