面試題 介面和抽象類的區別

2021-10-09 11:56:05 字數 581 閱讀 9023

區別:

(1)抽象類abstract修飾類,介面是通過inte***ce宣告。

1.抽象類中有普通成員變數,介面中沒有,抽象類和介面中都可以包含靜態成員變數,抽象類中的靜態成員變數的訪問型別可以任意,但介面中定義的變數只能是public static final型別,並且預設即為public static final型別。

2.抽象類可以有構造方法,介面中不能有構造方法

3.抽象類有非抽象的普通方法,介面中所有方法必須是抽象的。(抽象類集合了類和抽象的概念,而介面就純抽象)

4. 抽象類中的抽象方法的訪問型別可以是public,protected,但介面中的抽象方法只能是public型別的,並且預設即為public abstract型別。

5. 抽象類中可以包含靜態方法,介面中不能包含靜態方法

6. 乙個類可以實現多個介面,但只能繼承乙個抽象類。

記憶方法:從類的結構從上往下記

首先是類和介面的宣告

然後是成員變數和靜態變數

再是建構函式

然後就是成員方法(修飾符合是否有普通成員法法)

之後就是靜態方法

然後對抽象類的繼承或者對介面的實現

面試題 抽象類和介面的區別

含有abstract修飾符的class 即為抽象類。abstract類不能建立例項物件 含有abstract的方法的類必須定義為abstract class abstract class 裡的方法不必是抽象的 抽象類中定義抽象方法必須放在具體子類中實現 所以呀,不能有抽象的構造方法或抽象的靜態方法,...

抽象類和介面的區別(面試題)

含有 abstract 修飾符的 class 即為抽象類,abstract 類不能建立例項物件。含有 abstract 方法的類必須定義為 abstract class abstract class 類中的方法不必是抽象的。abstract class 類中定義抽象方法必須在具體 concrete ...

抽象類和介面的區別(面試題)

抽象類要被子類繼承,介面要要被類實現 抽象類可以有抽象方法,也可以有例項方法 介面只能有抽象方法 3.抽象類可以有具體的方法和屬性 介面只能有抽象方法和不可變常量 4抽象類可以有構造方法 介面不能有構造方法 5 乙個類可以實現多個介面 但只能繼承乙個抽象類 6 抽象類中可以包含靜態方法 介面中不能包...