java 抽象類和介面的區別

2021-08-10 07:25:52 字數 690 閱讀 3651

從語法層面上講:

抽象類:

1、抽象類的使用的關鍵字是abstract

2、抽象類類中能夠直接在抽象類中直接實現非抽象方法相關的預設方法的實現

3、抽象類中可以定義變數

4、再抽象類中成員中可以使用 public、private、 protected許可權修飾

5、抽象類中可以定義自己的成員變數屬性

介面:1、介面使用的關鍵字是inte***ce

2、介面中的方法都不能夠在介面中進行預設實現(原因:實際介面中的方法預設都是抽象方法)

3、介面中只可以使用public修飾

4、介面中的變數屬性只有final 修飾的 即使你在宣告變數的時候沒有使用final 修飾 編譯器也會給你加上預設的final修修飾你的變數

(既:你在介面宣告的的變數是  public int a=100 實際上和 public final int a=100 是相同的)

從使用場景上講:

抽象類:

1、抽象方法只能被子類繼承不能夠被子類實現

2、抽象類可以將子類中共同實現的方法或者行為可以進行提取放到抽象類中進行預設實現 省去的不同子類的的實現

3、子類繼承抽象類是單繼承

介面:1、介面中的方法必須由子類實現

2、乙個子類的實現多個介面

3、介面是子類共同行為方法從抽象,子類在實現介面時必須完全實現介面中的所有方法

Java抽象類和介面的區別

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

Java 抽象類和介面的區別

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

java抽象類和介面的區別

抽象類 1 抽象方法必須為public或者protected 因為如果為private,則不能被子類繼承,子類便無法實現該方法 預設情況下預設為public。2 抽象類不能用來建立物件 3 如果乙個類繼承於乙個抽象類,則子類必須實現父類的抽象方法。如果子類沒有實現父類的抽象方法,則必須將子類也定義為...