抽象類和介面的比較

2021-06-20 23:57:02 字數 918 閱讀 5150

包含乙個抽象方法的類必須是抽象類

抽象類和抽象方法都要使用abstract關鍵字宣告

抽象方法只需要宣告而不需要實現

抽象類必須被繼承,子類(如果不是抽象類)必須覆寫抽象類中的全部抽象方法

注意:抽象方法不要用private宣告,如果使用private宣告,子類將無法覆寫

ps:抽象類允許構造方法,在子類物件例項化前會預設呼叫父類的無參構造

由全域性常量和公共的抽象方法所組成.(

所以**二可簡寫成**一)

**一:

inte***ce a
**二:

inte***ce a
注意:介面中如果不寫public,則也是public訪問許可權

抽象類的實際應用:可以用來設計模板(比如請假條)

介面的實際應用:可以用來指定標準(比如usb標準)

抽象類表示的是,這個物件是什麼。介面表示的是,這個物件能做什麼。

抽象類與介面的關係

序號區別點

抽象類介面1定義

包含乙個抽象方法的類

抽象方法和全域性常量的集合2組成

構造方法,抽象方法,普通方法,變數,常量

全域性常量,抽象方法3使用

繼承/extends

實現/implements4關係

抽象類實現多個介面

5常見設計模式

模板設計

工廠設計,**設計6物件

通過物件的多型性產生例項化物件7侷限

單繼承無8實際

做為模板

做為標準9選擇

兩者都可用時,優先使用介面,避免單繼承

10特殊

乙個抽象類中可以包含多個介面,乙個介面中可以包含多個抽象類

抽象類和介面的比較

1.抽象類 是一種特殊的類,具有以下特點 a 抽象方法只作宣告,而不包括實現,可以是看成沒有實現體的虛方法。b 抽象類不能被例項化,除此之外,具有類的其他特性。c 抽象類可以但不是不惜具有抽象方法和抽象方法,但是一旦有了抽象方法,就一定要把這個類宣告為抽象類。d 具體派生類必須覆蓋抽象類的抽象方法。...

抽象類和介面的比較

介面和抽象類是非常相似的,但是他們之間是有區別的,主要區別一下幾個方面 1 乙個類可以實現眾多個介面,但是只能繼承乙個抽象類,可以說介面是取消程式語言中的多繼承機制的乙個衍生物,但是不完全如此 2 抽象類可以有非抽象方法,既可以有已經實現的方法,繼承他的子類可以對方法進行覆寫 而介面中定義的餓方法必...

抽象類和介面的比較

因為乙個類只能有乙個父類,所以提出介面,可以為一些小眾的共性作出補充。區別 1.介面可以多重繼承 繼承多個介面 類不可以多重繼承 類可以實現多個介面,但類只能繼承乙個類。2.抽象類成員變數型別不限,介面中的成員變數只能是public static final的 且必須顯式初始化 3.抽象類可以定義非...