抽象類和介面的異同

2022-10-06 19:54:18 字數 471 閱讀 3568

1、不同:

抽象類:

1.抽象類中可以定義構造器

2.可以有抽象方法和具體方法

3.介面中的成員全都是 public 的

4.抽象類中可以定義成員變數

5.有抽象方法的類必須被宣告為抽象類,而抽象類未必要有抽象方法

6.抽象類中可以包含靜態方法

7.乙個類只能繼承乙個抽象類

介面:1.介面中不能定義構造器

2.方法全部都是抽象方法

3.抽象類中的成員可以是 private、預設、protected、public

4.介面中定義的成員變數實際上都是常量

5.介面中不能有靜態方法

6.乙個類可以實現多個介面

相同:1.不能夠例項化

2.可以將抽象類和介面型別作為引用型別

3.乙個類如果繼承了某個抽象類或者實現了某個介面都需要對其中的抽象方法全部進行實現,否則該類仍然需要 被宣告為抽象類

抽象類和介面的異同

抽象類 有抽象方法的類必須定義成抽象類,抽象類可以沒有抽象方法 抽象類和介面的相同點 1.代表系統的抽象層,都不能例項化,都能包含抽象方法 用於描述系統提供的服務,不必提供具體實現 2.都可以指向子類 實現類 物件 不同點 1.構造方法 抽象類可以有構造方法,介面中不能有構造方法 2.變數 1 普通...

抽象類和介面的異同

抽象類 使用abstract關鍵字宣告 抽象方法不能是private 抽象類不能直接例項化,其實例可以使用子類向上轉型的方式獲得 子類如果沒有重寫全部抽象方法則仍是抽象類 子類只能extends乙個類 介面 抽象方法的集合,以inte ce關鍵字宣告,子類可以使用implements繼承多個介面 子...

抽象類和介面的異同

1 不能例項化 2 如果繼承某個抽象類或者實現某個介面,需要實現所有的抽象方法,否則該類仍是抽象來。抽象類 1 成員變數 變數和常量都可以 2 成員方法 抽象方法和非抽象方法都可以 3 構造方法 可以有 接 口 1 成員變數 只可以是常量 2 成員方法 只可以是抽象方法 3 構造方法 不允許有,禁止...