在以后所有開發過程中,絕對不要出現一個類去繼承一個已經實現好的類。而只能繼承我們的抽象類與接口。
來源:對象的核心本質在于我們的方法的覆寫上,如果說子類沒有按照指定方法的覆寫上,這樣的操作就有不符合要求,所有要對子類的方法進行強制要求,則出現抽象類
概念:抽象類在普通類的基礎上擴充了一些抽象方法(指示)。所謂的抽象方法是申明,不實現(沒有方法體,沒有大括號),所有的抽象方法都使用abstract關鍵字來定義,抽象方法所在的類也要使用abstract定義類,表示抽象類
現在發現抽象類就是比普通類多了一些抽象方法而已。
使用:抽象類中包含有抽象方法,抽象方法中沒有方法體,就是不知道具體的方法,如果產生了實例化對象,則可以調用方法。抽象方法可以使用任意權限,盡量用public
抽象類的使用原則:1.所以的抽象類必須要有子類;抽象類中的子類(不是抽象類)必須覆寫抽象類的全部方法。抽象類的對象可以通過對象多態性,利用子類為其實例化。
抽象類的規則:抽象類中依然可以提供構造方法,并且子類也會遵守子類實例化的流程,子類實例化之前一定會實例化父類構造方
對象的實例化步驟:1.進行類的加載2.進行類對象的空間開辟3.進行類對象的屬性初始化(構造方法),所以如果構造方法沒有執行,那么對象的屬性一定就是對象數據所對應的初始值
2.抽象類中允許不定義任何方法,仍然無法進行實例化處理
3.抽象類不能使用final申明,因為抽象類必須要有子類,抽象方法不能使用private定義,因為抽象方法必須用子類覆寫
4.抽象類分為內部抽象類外部抽象類,內部抽象類可以使用static定義,描述外部抽象類
抽象類最大特點:是強制規定了子類的實現,抽象類更多情況起到模板的作用,抽象類會定義一些固話的模式