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

2021-08-26 05:15:19 字數 376 閱讀 2430

介面與抽象類的聯絡與區別

介面抽象類

聯絡1.都不能被例項化;

2.都位於繼承樹的頂端,用於被其他類實現和繼承;

3.都可以包含抽象方法,實現介面或繼承抽象類的普通子類都必須實現這些抽象方法。

區別 只包含抽象方法、靜態方法和預設方法,不能為普通方法提供方法實現

完全包含普通方法;

只能定義靜態常量,不能定義普通成員變數

既可以定義普通成員變數,也可以定義靜態常量

不能包含構造器

可以包含構造器(讓抽象類的子類呼叫這些構造器來完成屬於抽象類的初始化操作)

不能包含初始化塊

可以包含初始**塊

多實現單繼承,包括抽象類

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

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

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

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

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

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