抽象類和介面

2021-10-01 04:35:04 字數 1446 閱讀 6097

① 抽象 :不具體 。物件導向的特徵之一。
注意:抽象方法沒有方法體。

注意:如果乙個類中有抽象方法,該類必須是抽象類。

抽象類中有構造方法,只是不能直接例項化抽象類,需要子類呼叫super();

1》 抽象類中,可以存在一般類的成員,包括屬性,方法,構造方法。

2》 抽象類中,如果存在抽象方法,該類必然是乙個抽象類,乙個抽象類中,不一定有抽象方法。

3》 抽象類不能直接建立物件。如果需要建立物件,必須實現該抽象類,由子類進行物件的建立。

區別 :

1》 抽象類可以包含抽象方法。一般類中沒有抽象方法。

如果子類中沒有重寫抽象方法,該子類也是乙個抽象類。

子類必須重寫父類的抽象方法。

2》抽象類中有構造方法,只是不能直接例項化抽象類,需要子類呼叫super();抽象類不可以建立物件,必須通過子類來建立物件。一般類可以直接建立物件。

聯絡:1》 抽象類和一般類都可以包含 構造方法,方法,屬性

2》 抽象類 和一般類都可以被子類繼承。

從子類中抽取出的共性**,沒有方法體的實現,此時,需要抽象。只要方法的方法體實現不具體。就可以使用抽象。

介面的特點:

介面中的方法都是抽象方法。並且該抽象方法,可以省略public abstract。沒有方法體。

介面中的屬性都是靜態常量。必須賦值然後使用。

③ 介面中沒有構造方法。

④ 介面不能直接建立物件的,要想建立物件,通過子類 ,通過關鍵字 implements來實現。

⑤ 介面多繼承、多重繼承、多實現。

注意:介面中不只是抽象方法和靜態常量,還可以有靜態方法(static 修飾),和預設方法(default修飾)。(jdk8新特性)

介面可以多繼承介面,多重繼承類,

類可以多實現介面,單繼承多重繼承類。

① 寫法:

1》抽象類: abstract class

2》介面 : inte***ce

② 成員 :

1》 抽象類: 可以有抽象方法,也可以有一般方法,屬性,構造方法。

2》介面: 方法全部是抽象方法,屬性都是靜態常量

③ 特點:

1》 抽象類: 單繼承、多重繼承。

2》 介面: 多繼承、多重繼承、多實現。

④ 子類:

1》 抽象類,繼承關係,關鍵字 extends

2》 介面 , 實現關係 ,關鍵字 implements。

*** 6.抽象類與介面的聯絡:

① 建立物件:

都不能直接建立物件 ,通過子類實現。

② 成員:

都可以有抽象方法。

介面和抽象類

介面和抽象類 今天自學了一下介面,從第一次接觸介面又進一步理解介面的原理。想到介面或許我們更多的是想到和類的對比,而類中抽象類和介面又更為相似。現在我講下我對介面和抽象類的理解。如果單從具體 來看,對這兩個概念很容易模糊,甚至覺得介面就是多餘的,因為單從具體功能來看,除多重繼承外 c 抽象類似乎完全...

抽象類和介面

抽象類 1.是一種特殊的類,除了不能被例項化外,具有類得其他特性.2.抽象類的方法可以不宣告為abstract,此時可以實現方法提 如果宣告為abstract,則不可以實現方法體,只能宣告,如 public abstract int remove int i,int j 此時類必須宣告為抽象 3.乙...

抽象類和介面

1.抽象類 含有abstract修飾符的類即為抽象類。可用於實現 重用。抽象類與普通類的唯一區別 不能建立例項物件 允許有抽象方法,但不必須是抽象的。抽象類中定義的抽象方法必須在具體子類中實現,所以不能有抽象構造方法或抽象靜態方法 如果沒有全部實現抽象父類的抽象方法,子類也要定義為抽象型別。2.介面...