關於抽象類與介面的一些總結

2021-06-10 09:06:55 字數 816 閱讀 1802

首先,從語法上講

抽象類:

1.抽象類用abstract關鍵字來修飾.

2.有抽象方法的類必須申明為抽象類.

3.抽象類中的方法可以有不是抽象的.

4.抽象類不能例項化物件.

5.抽象類中的方法必須在子類中實現,因此不能抽象構造方法或者是抽象靜態方法.

6.如果子類沒有實現抽象類的抽象方法,則該子類也必須申明為抽象類.

介面:  可以看成是抽象類的特例

1.所有的方法都是抽象的.

2.介面中的方法預設都是public abstract型別,成員變數預設為public static final.

下面比較一下具體的語法區別:

1.抽象類中可以有構造方法,介面中不能有構造方法.

2.抽象類中可以有普通成員變數,介面中沒有普通成員變數.

3.抽象類中可以包含非抽象的方法,介面中的方法都是抽象的,不能有非抽象的方法.

4.抽象類中的方法可以是public ,protected 和預設的,介面中的方法只是public abstract(預設就是這種型別,可以不寫).

5.抽象類中可以包含靜態方法,介面中不能包含靜態方法.

6.抽象類和介面中都可以包含靜態成員變數,抽象類的靜態成敗變數的訪問型別可以任意,但介面中定義的變數只能是public static final 型別的,並且預設即為這種型別.

7.乙個類只能繼承乙個抽象類,但可以實現多個介面.

接下來比較一下應用上的區別

介面多用於系統架構設計方面,如定義模組之間的通訊協議.而抽象類主要用於系統**重用方面,將子類共同的**放在抽象類中去實現,而由子類去實現各自不同的功能.

關於抽象類與介面的總結

在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。抽象類往往用來表徵我們在對問題領域進行分析 設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象,我們不能把它...

java抽象類與介面的區別抽象類與介面的特性是什麼

介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...

類 抽象類 介面 的 總結

方法 構造方法 建立類時類裡面預設的方法 普通方法 返回值 引數 屬性 可以是變數也可以是常量 普通方法 有具體的方法體 抽象方法 抽象方法就是有返回值 有引數 區別就是抽象方法沒有方法體 例如 public void study int x 他的方法體是空的 為什麼沒有方法體呢?抽象方法是用用來描...