介面的好處

2021-10-07 13:18:12 字數 1729 閱讀 1335

1、什麼是介面

介面比抽象類抽象的更加徹底,介面定義了一批類所需要遵守的規範。介面是不用關心這些類中方法的實現細節的。

介面做到了規範與實現的分離,是一種松耦合設計。軟體系統的各個模組之間也應該採用這種面向介面的耦合,從而盡量降低各個公尺快直接的耦合,為系統提供更好的可擴充套件性和可維護性。

2、定義介面

//  [修飾符]  inte***ce [介面名] extends 父級介面1,父級介面2,注,只能繼承介面

// 如果省略public訪問控制符,則預設採用包許可權訪問控制符

public inte***ce soninter extends parentinter

// 內部類、介面、列舉(預設採用public abstrator修飾符)

}

3、介面繼承

介面支援多繼承,即乙個介面可以繼承多個直接父級介面。

父級介面s:

//第乙個父級介面

public inte***ce parentinter

//第二個父級介面

public inte***ce parentinter1

//第三個父級介面

public inte***ce parentinter2

子級介面:

//子級介面

public inte***ce soninter extends parentinter,parentinter1,parentinter2

測試:

注,此處只做常量演示,如果父級介面中有相同名稱的常量值等會有問題。

4、使用介面

實現類:

//實現soninter介面

public class sonimpl implements soninter

}

測試:

5、介面和抽象類對比

共同點:

都不能被例項化。

都可以包含抽象方法,子類需要對抽象方法進行實現。

不同點:

設計目的不一樣。介面體現的是一種規範,降低系統模組間耦合度;抽象類體現的是一種模板式設計,可以當作是系統實現過程中的中間產品,這個產品必須經過進一步完善才能成為最終產品。

介面只能包含抽象方法和預設方法,會給方法自動加上public abstract 修飾符,以至於方法是抽象方法,所以形似普通方法的抽象方法不能寫方法體;抽象類可以定義普通方法。

介面中不能定義i靜態方法;抽象類可以定義普通方法。

介面不能定義變數,定義的量會預設加上public abstract final修飾符也就是只能定義為靜態常量;抽象類可以定義變數和靜態常量。

介面中不能定義構造器;抽象類可以定義構造器,但是不是用來建立例項物件,而是給子類呼叫的。

介面不能定義初始化塊;抽象類可以定義初始化塊。

乙個類只能繼承乙個父類(包括抽象類),但是可以實現多個介面。介面中可以繼承多個介面。

介面的好處

介面的作用對於很多新手來說很不容易理解,我給大家舉個例子。介面只是乙個規範,所以裡面的方法都是空的。假如我開了乙個寵物糧店,宣告所有寵物都可以來我這裡買糧食,這就相當於乙個介面,public inte ce petrestaurant 當乙隻狗看到了,知道自己是寵物,所以它去實現這個介面 publi...

使用介面的好處

1 用介面來引用特定的實現類,而不是用 特定的類來引用自己 list list new arraylist list list new linkedlist 一旦需要改變自己的實現細節,要做的全部事情就是在建立的時候改變它。其餘 可保持原樣 2 用介面來呼叫其實現類的方法 service servi...

使用介面的好處

看書筆記 使用介面的好處 1.由於介面允許多實現,所以我們實現介面的類可以向上轉型不止乙個基型別,2.第二個原因是與使用抽象類相同 防止客戶端建立該類的物件,並確保這僅僅建立的是個介面,3.因為介面的任何成員自動是static final的所以介面是一種很便捷的建立常量的元件工具 選擇介面還是抽象類...