java介面和抽象類的區別

2021-08-29 07:46:03 字數 843 閱讀 2460

介面和抽象類的區別

1、介面不能有建構函式,抽象類可以有建構函式;

2、介面沒有普通成員變數,只有常量,抽象類可以有普通成員變數;

3、介面中的方法不能被static修飾,抽象類中的方法被static修飾;

4、介面中的方法全是抽象方法,抽象類可以有普通的方法和抽象方法;

5、介面中的方法全是public abstract 的方法,抽象中的方法可以被public 、protected等修飾符修飾;

6、乙個類只能繼承乙個抽象類,介面可以被多個實現;

介面:方法完全抽象的,並且方法必須是public,如果寫成其他的編譯時會報錯,如果不寫,則預設方法是public abstract

子類用implements來實現介面,子類需要實現介面中的所有方法

介面不可以new操作符例項化乙個介面,但可以宣告乙個介面變數

介面可以繼承乙個或者多個介面

介面可以有變數,但是這個變數是不可以變的變數,它會自動的變為public static final

抽象類:

可以有方法的實現,但是這個方法不是abstract方法

子類用extends來繼承抽象類,如果子類不是抽象類,則子類必須實現抽象類中的所有抽象方法,也可以實現抽象類中的非抽象方法

抽象類中可以有構造器

抽象類中可以有public,protected和default修飾符

抽象類可以繼承乙個類和實現多個介面

Java介面和抽象類區別

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

Java 介面和抽象類的區別

1 抽象類可以有構造方法 介面不可以有構造方法 2 抽象類可以有普通成員變數 介面不可以有普通成員變數 3 抽象類可以包含普通非抽象的方法 介面中所有方法都必須是抽象的,不能有非抽象的普通方法 4 抽象類下的抽象方法訪問型別可以是public protected 但介面的訪問型別必須是public,...

java介面和抽象類的區別

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