抽象類和介面

2021-09-17 04:31:58 字數 1219 閱讀 3364

1.抽象類的成員特點:

a.成員變數:既可以是變數,也可以是常量;

b.構造方法:有,用於子類訪問父類資料的初始化;

c.成員方法:既可以是抽象(無方法體),也可以是非抽象的;

2.成員方法的特性:

a.抽象方法:強制要求子類做的事情;

b.非抽象方法:子類繼承的事情-提高**的復用性;

3.介面的特點:

a.介面用關鍵字inte***ce表示

inte***ce 介面名{}

b.類實現介面用implements表示

class 類名 implements 介面名 {}

c.介面不能例項化

如何實現例項化?多型。

d.介面的子類

a:抽象類,意義不大。

b:具體類,要重寫介面中的所有抽象方法。

由此可見:

a.具體多型(幾乎沒有)

b.抽象類多型(常用)

c.介面多型(最常用)

4.介面成員特點:

a.成員變數:只能是常量,並且是靜態的。

預設修飾符:public static final

建議自己手動給出

b.構造方法:沒有構造方法;

(所有類都預設繼承乙個類:object )

c.成員方法:只能是抽象的;

預設修飾符:public abstract

5.幾種關係:

a.類與類:繼承關係,只能單繼承,可以多層繼承;

b.類與介面:實現關係,可以單實現,也可以多實現;並且還可以在繼承乙個類的同時實現多個介面;

c.介面與介面:繼承關係,可以單繼承,也可以多繼承;

6.抽象類和介面的區別:

a.成員區別:

a.抽象類:

成員變數:可以變數,也可以常量;

構造方法:有;

成員方法:可以抽象,也可以非抽象;

b.介面:

成員變數:只可以常量;

成員方法:只可以抽象;

b.關係區別(如第五點

c.設計理念:

a.抽象類:被繼承的是:「is a」的關係。抽象類中定義的是該繼承體系的共性功能。

b.被實現體現的是:」like a」的關係。介面中定義的是該繼承體系的擴充套件功能。

介面和抽象類

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

抽象類和介面

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

抽象類和介面

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