Java 介面和抽象類的區別

2021-07-08 16:45:18 字數 363 閱讀 8133

1、抽象類可以有構造方法;介面不可以有構造方法

2、抽象類可以有普通成員變數;介面不可以有普通成員變數

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

4、抽象類下的抽象方法訪問型別可以是public、protected;但介面的訪問型別必須是public,並且預設是public abstract型別

5、抽象類下可以包含靜態方法;介面下不可以有靜態方法

6、抽象類和介面都可以包含靜態成員變數,抽象類中的靜態成員變數的訪問型別可以任意;但介面中定義的靜態成員變數必須是public static final 型別即預設也為這個型別

7、乙個類可以實現多個介面,但是只能繼承乙個抽象類

Java介面和抽象類區別

abstract class inte ce 繼承性單繼承 多實現方法 抽象方法 具體方法 抽象方法 filed 宣告 使用filed欄位 建立的為靜態常量 final static 訪問許可權 public protected private或package public 構造器有 無介面特點 a...

java介面和抽象類的區別

抽象類和介面的區別?1 成員區別 抽象類 成員變數 可以是變數,也可以是常量 成員方法 可以抽象,也可以非抽象 建構函式 有 介面 成員變數 只能是常量 成員方法 只可以抽象 建構函式 沒有建構函式 2 關係區別 類與類 繼承,單繼承 類與介面 實現,單實現,多實現 介面與介面 繼承,單繼承,多繼承...

JAVA 介面和抽象類的區別

抽象類就是為了繼承而存在。雖然沒有抽象方法也可以是抽象類,但我覺得這樣是沒有意義的。介面是極度抽象的東西,比抽象類更抽象。打星號了!1.語法層面上的區別 1 抽象類可以提供成員方法的實現細節,而介面中只能存在public abstract 方法 2 抽象類中的成員變數可以是各種型別的,而介面中的成員...