java抽象類與介面的區別

2021-06-19 10:23:08 字數 783 閱讀 2701

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

介面(inte***ce)可以說成是抽象類的特例。介面中的所有方法都必須是抽象的,介面中的方法定義預設為public abstract 。介面中的變數是全域性常量,即public static final修飾的。 看一下他們在語法上的區別吧!

1,抽象類裡可以有構造方法,而介面內不能有構造方法。

2,抽象類中可以有普通成員變數,而介面中不能有普通成員變數。

3,抽象類中可以包含非抽象的普通方法,而介面中所有的方法必須是抽象的,不能有非抽象的普通方法。

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

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

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

7,乙個類可以實現多個介面,但只能繼承乙個抽象類。再補充點兩者在應用上的區別: 介面更多的是在系統框架設計方法發揮作用,主要定義模組之間的通訊,而抽象類在**實現方面發揮作用,可以實現**的重用

java抽象類與介面的區別抽象類與介面的特性是什麼

介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...

JAVA抽象類與介面的區別

抽象類和介面的區別 抽象類是乙個模板,類的模板,而介面是乙個標準。序號區別點 抽象類介面1定義 包含抽象方法的類就是抽象類 抽象方法和全域性常量的集合2組成 構造方法,抽象方法,普通方法 常量和抽象方法 常量,變數3使用 子類繼承抽象類 extends 子類實現介面 implements 關鍵字 a...

java中抽象類與介面的區別

抽象類與介面的區別 1.抽象類中可以含有普通方法和變數,而介面中只能含有抽象方法 public abstract修飾 和常量 public final static修飾 不能含有任何實現了的方法。2.抽象類中由構造器,而介面中沒有構造器。3.抽象類只能是單繼承,多實現。而介面是多繼承其他介面,但是不...