java抽象類和介面的區別

2021-08-22 03:20:39 字數 723 閱讀 3061

抽象類

1)抽象方法必須為public或者protected(因為如果為private,則不能被子類繼承,子類便無法實現該方法),預設情況下預設為public。

2)抽象類不能用來建立物件;

3)如果乙個類繼承於乙個抽象類,則子類必須實現父類的抽象方法。如果子類沒有實現父類的抽象方法,則必須將子類也定義為為abstract類。

在其他方面,抽象類和普通的類並沒有區別。

介面

1)介面中的變數會被隱式地指定為public static final變數(並且只能是public static final變數,用private修飾會報編譯錯誤)

2)方法會被隱式地指定為public abstract方法且只能是public abstract方法(用其他關鍵字,比如private、protected、static、 final等修飾會報編譯錯誤)

3)介面中所有的方法不能有具體的實現,也就是說,介面中的方法必須都是抽象方法

允許乙個類遵循多個特定的介面。

乙個普通類遵循了某個介面,就必須實現該介面中的所有方法。

乙個抽象類遵循某個介面的,可以不實現該介面中的所有方法。

Java抽象類和介面的區別

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

java 抽象類和介面的區別

從語法層面上講 抽象類 1 抽象類的使用的關鍵字是abstract 2 抽象類類中能夠直接在抽象類中直接實現非抽象方法相關的預設方法的實現 3 抽象類中可以定義變數 4 再抽象類中成員中可以使用 public private protected許可權修飾 5 抽象類中可以定義自己的成員變數屬性 介面...

Java 抽象類和介面的區別

一 抽象類 包含抽象方法的類稱為抽象類,可以擁有成員變數和 普通的成員方法。與普通類的區別 1.抽象方法必須為public或者protected 因為如果為private,則不能被子類繼承,子類便無法實現該方法 預設情況下預設為public。2.抽象類不能用來建立物件 3.如果乙個類繼承於乙個抽象類...