抽象類 介面的聯絡 區別

2021-10-08 18:15:57 字數 774 閱讀 2381

抽象類是用abstract修飾的類,在抽象類中可以擁有抽象方法和普通方法,也可以只有普通方法但是沒有意義.

當我們抽取事物的共性組成父類時,如果在父類中並不能夠具體的實現某個方法時.可以將這個方法定義為抽象方法,這個類為抽象類.

介面是用inte***ce修飾的, 用來擴充具體類的功能.

1.成員不同:

構造方法:

介面中沒有構造方法,抽象類有構造方法但是不能直接建立物件

成員方法:

介面中成員方法預設新增 public abstract 修飾,只能存在抽象方法;

抽象類中既有抽象方法也有普通方法

成員變數:

介面中的成員變數預設新增static final 修飾,只有公開靜態常量.

抽象類中的變數沒有這個限制

2.關係不同:

類與類之間的關係是繼承:extends;

介面與介面之間的關係是繼承:extends;

類與介面之間的關係是實現:implements;子類稱為子實現類

3.設計思想不同:

抽象類是讓子類繼承的,體現的是一種"is a"的理念,並且子類只能繼承乙個父類;

是為了子類擴充功能,體現的是"like a"的理念,乙個子實現類可以同時實現多個介面 .

1.都可以擁有抽象方法;

2.都不可以直接建立物件;

3.都依靠於子類存在才有意義,子類必須實現其所有的抽象方法

4.都可以實現多型

類 抽象類 介面的區別

類和抽象類 不同點 抽象類不能例項化,只能被繼承 抽象類可以定義抽象方法 相同點 抽象類和一般類都是用來描述事物的,都在內部定了成員。介面和抽象類 不同點 介面是對動作的抽象,抽象類是對根源的抽象 抽象類表示的是這個物件是什麼,介面表示的是這個物件能做什麼 介面更多的是在系統架構設計方法發揮作用,主...

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

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

抽象類和介面的區別

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