java學習第16天
繼承概述:
繼承的格式 public class 子類名 extends 父類名{}
範例:public class Zi extends Fu{}
Fu:是父類,也被稱為基類、超類
Zi:是子類,也被稱為派生類
繼承中子類的特點:
子類可以有父類的內容,子類還可以有自己的內容。
整合的好處與弊端:
繼承的好處提高了程式碼的複用性(多個類相同的成員可以放到同一個類中),提高了程式碼的維護性(如果方法程式碼需要修改,修改父類一處即可)
繼承的弊端繼承讓類與類之間產生了關係,類的耦合性增強了,當父類發生變化時子類實現也不得不跟著變化,削弱了子類的獨立性。
什麼時候使用繼承?
整合的體現關係:is a
假設我們有兩個類A和B,如果他們滿足A是B的一種,或者B是A的一種,就說明它們存在繼承關係這個時候考慮使用繼承來體現,否則就不能濫用繼承
舉例:蘋果和水果,貓和動物,貓和狗。
繼承中變數訪問的特點:
在子類方法中訪問一個變數,在子類方法區域性範圍找,在子類成員範圍找,父類成員範圍找(不考慮父類的父類),沒有就報錯。
Super和this關鍵字的用法
This代表本類物件的引用,super:代表父類儲存空間的標識(可以理解為父類物件的引用)
關鍵字this this.成員變數 訪問成員變數 this(引數)訪問本類構造方法 this.成員方法()訪問本類的成員方法。關鍵字super super.成員變數 訪問父類成員變數 super() 訪問父類構造方法 super.成員方法() 訪問父類成員方法
繼承中構造方法的訪問特點
子類會繼承父類中的資料,可能還會使用父類的資料,所以子類初始化之前一定要完成父類的初始化,每一個子類構造方法的第一條語句預設都是:super()
當父類沒有無參構造方法時,通過使用super關鍵字呼叫父類的帶參構造方法。預設或者在父類中自己提供一個無參構造方法(推薦使用後者)。
繼承中成員方法的訪問特點:在子類成員範圍中找,在父類成員範圍中找,都沒有就報錯。
方法重寫:子型別中出現了和父類中一摸一樣的方法宣告,當子類需要父類的功能,而功能的主體子類有自己特有的內容,可以重寫父類中的方法,這樣,即沿襲了父類的功能,有定義了子類的特有內容。