類 抽象類 介面 三者的異同,分別的用法

2021-08-20 21:22:31 字數 958 閱讀 4636

類、抽象類、介面三者的異同

1.定義

類:是例項的模板;

抽象類:只宣告具體的介面(方法簽名)而不完成具體的實現

介面:乙個方法的集合吧,裡面擁有多個方法(我的理解)

2.其他

1.抽象類不能被例項化,只可以用來繼承作為其他類的父類存在;而普通類可以被例項化;

2.抽象類和普通類的繼承是單繼承,而介面的繼承可以多繼承,即繼承多個介面;

3.抽象類中的抽象方法在子類中必須被實現;

4.介面沒有構造方法;

用法1.宣告方式

類:[public |(default)] class 類名()

抽象類:[public |(default)] abstract class 類名()

介面:[public |(default)] inte***ce 介面名()

2.屬性

1.類:private/(default)/protected/public 型別 屬性名;

2.抽象類:抽象屬性:private/(default)/protected/public abstract 型別 屬性名;

3.介面:屬性預設:public static final;

3.方法

1.類:private/(default)/protected/public 返回值型別 方法名(引數){}

2.抽象類:private/(default)/protected/public abstract 返回值型別 方法名(引數);或一般方法

3.介面:預設:public abstract 

5.類實現介面的語法

[修飾符] class 《類名》 [extends 父類] [implements 介面列表]{}

6.繼承

類:單繼承;只能有乙個父類;

抽象類:單繼承;只能有乙個父類;如果父類有抽象方法,子類也必須要有;

介面:多繼承;乙個介面繼承多個介面

抽象類和介面,類的異同

a抽象類中可以有抽象方法也可有一般方法,抽象方法在子類中實現 而介面中的方法都是抽象方法,屬性都是常量,介面類似多重繼承的功能。介面沒有方法體 b你可以把介面想象成是沒有例項欄位的抽象類。每個類只能擴充套件乙個類,但可以實現多個介面。我理解介面好象就是為了實現多重繼承的功能 c1.抽象類是乙個不完全...

介面和抽象類的異同

相同點 抽象類和介面均包含抽象方法,類必須實現所有的抽象方法,否則是抽象類 抽象類和介面都不能例項化,他們位於繼承樹的頂端,用來被其他類繼承和實現 兩者的區別主要體現在兩方面 語法方面和設計理念方面 語法方面的區別是比較低層次的,非本質的,主要表現在 介面中只能定義全域性靜態常量,不能定義變數。抽象...

介面和抽象類的異同

抽象類 如果乙個類中包含乙個抽象方法,它就是抽象類。介面 就是指乙個方法的集合,介面中所有的方法都沒有方法體。相同點 都不能被例項化。介面的實現類和抽象類的子類都只有實現了介面或抽象類中的方法後才能被例項化。不同點 1 介面中只有定義,其方法不能在介面中被實現,只有實現介面的類,才能實現介面中定義的...