天天看點

接口interface_聽韓順平課筆記

1.接口快速入門

為什麼要有接口:

接口interface_聽韓順平課筆記
程式模拟USB接口:

  • 定義一個USB接口規範
  • 有實作USB接口的類Phone,Camera
  • 定義一個Computer類,接收一個實作了USB接口的類
接口interface_聽韓順平課筆記
接口interface_聽韓順平課筆記

2.接口基本介紹

什麼是接口:接口的基本介紹

  • jdk1.8以及之後,接口中可以有靜态方法static,預設方法(default關鍵字修飾)
  • 接口中抽象方法可以省略abstract關鍵字(預設)
  • 接口中的所有抽象方法都需要實作implements
接口interface_聽韓順平課筆記

3.接口應用場景

接口interface_聽韓順平課筆記

編碼規範問題:

  • 命名同一
  • 一個接口實作多種建立連結的方式(USB)
接口interface_聽韓順平課筆記

4.接口使用細節1

接口使用細節1-4:

  • 接口不能執行個體化
  • 接口中所有的方法是public方法,接口中抽象方法,可以不用abstract修飾
  • 一個普通類實作接口,必須實作該接口的所有方法,Alt + Enter快速實作
  • 抽象類實作接口,可以不用實作接口的方法(抽象類允許有抽象方法)
接口interface_聽韓順平課筆記

如何證明接口中的方法是public的?

接口interface_聽韓順平課筆記

5.接口使用細節2

接口使用細節5-9:

  • 一個類可以同時實作多個接口
  • 接口中的屬性,隻能是final,而且是public static final,且必須初始化
  • 接口中屬性的通路形式:接口名.屬性名
  • 一個接口不能繼承其他的類,但是可以繼承多個别的接口(接口和接口間是繼承關系extends,類和接口是實作關系implements)
  • 接口的修飾符,隻能是public和預設,和類的修飾符一樣
接口interface_聽韓順平課筆記

證明接口屬性是是public static final

接口interface_聽韓順平課筆記

6.接口練習

接口interface_聽韓順平課筆記

答案:

接口interface_聽韓順平課筆記

7.接口VS繼承

  • 繼承相當于一種天賦,接口是後天習得的本領
  • 繼承的方法子類直接可以使用,接口實作的方法需要子類重寫
  • 類隻能是單繼承,接口相當于是對類功能的一種延展
接口interface_聽韓順平課筆記

接口實作代碼的解耦?接口規範性+動态綁定機制

接口interface_聽韓順平課筆記

8.接口多态特性

接口的多态特性:

  • 多态參數
  • 多态數組,接口數組,接收實作了接口的類的執行個體
  • 多态傳遞
接口interface_聽韓順平課筆記
接口interface_聽韓順平課筆記

9.接口多态傳遞

接口interface_聽韓順平課筆記

接口的多态傳遞:一個類實作了接口I1,I1繼承的接口I2,則相當于該類實作了接口I2,且需要實作I2中的所有方法

接口interface_聽韓順平課筆記
接口interface_聽韓順平課筆記

10.接口練習

錯誤:不明确x是父類,還是接口中的值

解決方案:指明x來自父類super.x,還是來自接口Interface.x

接口interface_聽韓順平課筆記
接口interface_聽韓順平課筆記
  • 屬性,方法,構造器,代碼塊,内部類

繼續閱讀