java中接口的理解


接口(interface):簡單的理解就是動作方法的抽取但無實現。例如,開門(openDoor),關門(closeDoor),這兩個動作;再例如後面的接口中的例子,刪除客戶(deleteCustomerById方法)。

常見組合方式  :“動詞+名詞”、“動詞+名詞+介詞+名詞”等基本方式構造構成。(其他關於接口的描述,過於抽象,能理解就理解吧。接口:爲解決單一繼承的侷限性,提供更多類的功能(拓展類的功能)降低程序的耦合性,提高對外的規則)

爲什麼使用接口呢?  主要是解耦合。什麼是耦合呢?就是程序間的依賴性,繼承的話會增加類與類之間的依賴性,而開發中需要時刻關注“高內聚,低耦合”。

什麼是依賴?簡單說,小時候靠別人養,這種關係就是依賴

補充:我們想要一個類擁有多個功能,如果使用繼承的方式,就會出現一個類繼承多個類的情況。
但是Java當中不允許一個類,同時繼承多個類(多繼承,區別於多層繼承,後面會講到)的情況出現.爲了解決多繼承的問題,這裏提供了接口
簡單點說:
    親爹只能夠有1個,但是乾爹可以有多個

其他關於接口的優點(這裏只說開發中的作用):
    A.對外暴露
    B.實現關係
    C.統一規範
    D.降低耦合(開發中使用接口的主要作用)


這裏提供一個開發中接口的實例,說明接口中方法的組合方式(常見)

public interface CustomerService {
// 查詢用戶列表

Page<Customer> getCustomerList(QueryVo queryVo);

// 根據用戶的id查詢用戶的信息

Customer finCustomerByid(Long id);

// 根據用戶信息更新用戶信息
void updateCustomer(Customer customer);
// 根據用戶id刪除用戶
void deleteCustomerById(Long id);

}

eg:傳統的頁面展示,需要先進行登錄開發,才能進行產品的展示。使用接口後,就能同步進行,登錄頁面成功後,調用產品展示的接口,通過多態,就能獲取接口的具體實現方法。這樣登錄開發和產品展示的功能開發就不進行依賴了

這樣說的還是比較抽象,但是需要這麼說,開發時間長了就可以理解。

另外補充:

1.類與類之間的關係:繼承關係,單一繼承,多層繼承(a繼承b,而b繼承c,這樣a就繼承c了)

2.接口與接口之間的關係:繼承,多繼承(一個接口可以繼承多個接口)

3.類與接口的關係:實現,也就是說,類實現接口,當然了抽象類也是可以實現接口,只是什麼都沒幹,把方法繼承了

另外常見的疑問:

1.接口中是否可以有無構造方法?接口不能創建對象,如果能創建對象的話就能夠調用方法,但抽類方法未實現(接口中都是抽象方法),因此矛盾


2.多個接口需要實現如何進行:可以一次性實現,有可以由類實現其中幾個後變爲抽象類,通過其子類來實現未實現的接口(使用繼承的特點)


  
  
  
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章