《java與模式》-4 java接口

接口是實現構建可插入性的關鍵

  1. 關聯的可插入性
    1. A對象需要完成一個任務,需要知道B對象(屬性),A對B就是關聯。
    2. 如果關聯不是對類,而是對接口,那麼任何一個實現了這個接口的對象都可以,這樣我們只需要關心接口,不需要關心實現了。
  2. 調用的可插入性
    1. A對象需要調用B對象的方法,這個調用不一定非得要具體的類而是可以是一個接口,任何實現了這個接口的類都可以被當前對象調用。
  3. 類型
    1. 應當使用接口或抽象類將軟件單位與內部和外部耦合起來。
    2. 理想情況下一個類應當只實現接口和抽象類中的方法,不應給出多餘方法
  4. 類型等級結構
    1. 接口一般用來作爲一個類型等級結構的起點
    2. java的類型是以類型等級接口的方式組織起來的,子類型的關係是傳遞性的
    3. B是的A子類,C是B的子類,那麼C是A的子類。
    4. 混合類型:一個類有一個主要的超類型,通過實現一個接口可以擁有另一個次要的超類型,這種次要的超類型就叫混合類型;
      例:TreeMap具有多個類型:
      1.AbstractMap是 主要類型,這是一種java聚集;
      2.Cloneable接口則給出一個次要類型,說明這個類可以安全的克隆;
      3.Serializable也是一個次要類型,說明這個類可以串行化;
      4.NavigableMap,搜索目標返回最接近匹配項的導航方法;
      5.NavigableMap繼承了SortedMap表明這個類可以排序;
      這裏寫圖片描述

接口的常見用法

  1. 單方法接口:Runnable、ActionListener;
  2. 標識接口:Serializable沒有任何屬性、方法,僅表明它的類型屬於一個特定類型,通常用在工具類中;
  3. 常量接口:錯誤的用法;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章