物件導向下(五)抽象類

2021-08-29 20:53:51 字數 658 閱讀 5772

抽象類

so。。。。final和abstract永遠不容,,,abstract和private永遠不容,static和abstract用不相容

抽象類中可以定義構造器,初始化塊,靜態初始化塊,但是抽象類不會產生例項,

抽象類的構造器,初始化塊只有在產生子類例項的時候才會被呼叫用於初始化子類例項,抽象類雖然不能被例項化,但系統在第一次載入抽象類時,還是會為其生成乙個class物件,並且會呼叫抽象類的靜態初始化塊對class物件的類變數進行初始化

使用abstract修飾類的時候,表明這個類只能被繼承,

使用abstract修飾方法時,表明這個方法必須由子類提供實現,因此abstract和private不能同時修飾方法,否則子類無法實現重寫

而final修飾的類不能被繼承,final修飾的類不能被重寫

abstarct不能修飾變數,只能修飾方法和類,也不能修飾構造器

抽象類的作用?

抽象類體現的是一種模板模式的設計,抽象類作為多個子類的通用模板,子類在抽象類的基礎上進行擴充套件,改造,總體上就是對子類物件提供更多的方法,也可以不用繼承實現動態的增加某一物件的方法,用裝飾器模式,

模板模式:

編寫乙個抽象類,父類提供多個子類的通用方法,並把乙個或多個方法留給其子類實現,

物件導向 抽象類

抽象 裡邊有未明確的東西。抽象類的特點 1 抽象方法一定在抽象類中。2 抽象方法和抽象類都必須被abstract關鍵字修飾。3 抽象類不可以用new建立物件,因為呼叫抽象方法沒意義。4 抽象類中的抽象方法要被使用,必須由子類複寫其所有的抽象方法後,建立子類物件呼叫。如果子類只覆蓋部分抽象方法,那麼該...

物件導向 抽象類

抽象類概述 什麼是抽象類?什麼是抽象方法?抽象方法 沒有方法體的方法就是抽象方法,必須用abstract關鍵字去修飾。抽象類 擁有抽象方法的類,就是抽象類。應用場景 在不同的子類往上抽取方法時,方法的定義是一樣的,但是方法體不一樣,所以抽取到父類時就可以使用抽象方法。簡單來說 當多個子類擁有同乙個功...

物件導向 抽象類

帶引數的抽象類以及抽象方法 編寫構造方法以及預設的構造方法,備註 未自行編寫構造方法時具有預設的構造方法 一旦自行編寫了構造方法,預設不寫的構造方法,必須編寫 package 測試類 public class cs 具有三個引數的構造方法 public cs string name,int zhi,...