自己整理的介面和抽象的區別?

2021-08-19 19:34:15 字數 449 閱讀 2413

1.概念上的區別:介面是對動作的抽象,而抽象類是對根源的抽象。抽象類表示的是這個物件是什麼,介面表示的是這個物件能做什麼。比如:哈士奇,金毛他倆都屬於狗,他們的抽象類就是狗。貓可以吃東西,狗也可以吃東西,你可以把"吃東西"定義成乙個介面,然後讓這些類去實現他。所以,乙個類只能繼承乙個抽象類,但是可以實現多個介面。    

2.介面可以多繼承,而抽象類不可以多繼承;

3.抽象類中可以有方法體,而介面中不可以有方法體(jdk1.8之後可以有方法體);

4.介面中基本資料型別為static.而抽象類不是的。

5.介面中宣告的變數預設都是final。抽象類可以包含非final的變數。

6.介面中的成員函式預設都是public。抽象類的成員函式可以是private,protected或者是public.

7.當你關注乙個事物的本質的時候,用抽象類。

8.當你關注乙個操作的時候,用介面。

抽象方法 抽象類 介面 介面和抽象類的區別

某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。抽象方法和抽象類的規則 public abstract class shape private string color p...

介面和抽象類的區別

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

介面和抽象類的區別

區別一,兩者表達的概念不一樣。抽象類是一類事物的高度聚合,那麼對於繼承抽象類的子類來說,對於抽象類來說,屬於 是 的關係 而介面是定義行為規範,因此對於實現介面的子類來說,相對於介面來說,是 行為需要按照介面來完成 區別二,抽象類在定義型別方法的時候,可以給出方法的實現部分,也可以不給出 而對於介面...