抽象類和介面的總結

2021-08-07 17:10:18 字數 951 閱讀 8901

總結幾句話來說:

1、抽象類和介面都不能直接例項化,如果要例項化,抽象類變數必須指向實現所有抽象方法的子類物件,介面變數必須指向實現所有介面方法的類物件。

2、抽象類要被子類繼承,介面要被類實現。

3、介面只能做方法申明,抽象類中可以做方法申明,也可以做方法實現

4、介面裡定義的變數只能是公共的靜態的常量,抽象類中的變數是普通變數。

5、抽象類裡的抽象方法必須全部被子類所實現,如果子類不能全部實現父類抽象方法,那麼該子類只能是抽象類。同樣,乙個實現介面的時候,如不能全部實現介面方法,那麼該類也只能為抽象類。

6、抽象方法只能申明,不能實現。abstract void abc();不能寫成abstract void abc(){}。

7、抽象類裡可以沒有抽象方法

8、如果乙個類裡有抽象方法,那麼這個類只能是抽象類

9、抽象方法要被實現,所以不能是靜態的,也不能是私有的。

10、介面可繼承介面,並可多繼承介面,但類只能單根繼承。

二者的區別:

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

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

3.抽象類中可以包含非抽象的普通方法,介面中的所有方法必須都是抽象的,不能有非抽象的普通方法。

4. 抽象類中的抽象方法的訪問型別可以是public,protected和(預設型別,雖然

eclipse下不報錯,但應該也不行),但介面中的抽象方法只能是public型別的,並且預設即為public abstract型別。   

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

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

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

抽象類和介面的總結

b 類 b 的表現形式 public class a 類的特點 1 類中的屬性可以是成員屬性,也可以是類屬性 2 類中的方法必須是有方法體的方法,也可以是成員方法,也可以是類方法 3 每個類必須至少有乙個構造方法,預設的是乙個無參的構造方法,可以呼叫構造方法創造對物件 乙個類只能繼承乙個父類,單根繼...

類 抽象類 介面 的 總結

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

抽象類和介面的區別

要結合來使用,從而互補長短。接下來先說說抽象類和介面的區別。區別一,兩者表達的概念不一樣。抽象類是一類事物的高度聚合,那麼對於繼承抽象類的子類來說,對於抽象類來說,屬於 是 的關係 而介面是定義行為規範,因此對於實現介面的子類來說,相對於介面來說,是 行為需要按照介面來完成 這些聽起來有些虛,舉個例...