天天看點

接口(interface)

接口(interface)

接口是抽象方法和常量值的集合。從本質上講,接口是一種特殊的抽象類,這種抽象類隻包含常量和方法的定義,而沒有變量和方法的實作。

格式:

interface 接口名{}

接口的出現将"多繼承"通過另一種形式展現出來,即"多實作"。

實作(implements)

class 類名 implements 接口名 {}

特點:

  • 接口不能被執行個體化。

    接口如何執行個體化呢?參照多态的方式,通過實作類對象執行個體化,這叫接口多态。

    多态的形式:具體類多态,抽象類多态,接口多态。

    多态的前提:有繼承或者實作關系; 有方法重寫; 有父類/接口)引用指向(子/實作)類對象

  • 接口的實作類

    要麼重寫接口中的所有抽象方法

    要麼是抽象類

接口的成員特點

接口中的成員修飾符是固定的!

  • 成員變量

    ​ 隻能是常量

    ​ 預設修飾符: public static final

  • 構造方法

    接口沒有構造方法,因為接口主要是對行為進行抽象的,是沒有具體存在

    個類如果沒有父類,預設繼承自Object類

  • 成員方法

    隻能是抽象方法

    預設修飾符: public abstract

繼承與實作的差別:

  • 類與類之間稱為繼承關系:
    • 隻能單繼承,可以多層繼承。((class))
  • 類與接口之間是實作關系:
    • 因為接口中的方法都是抽象的,必須由子類實作才可以執行個體化。可以單實作,也可以多實作;還可以在繼承一個類的同時實作多個接口。((class) extends (class) implements (interface1,interface2…))
  • 接口與接口之間是繼承關系:一個接口可以繼承另一個接口,并添加新的屬性和抽象方法,并且接口可以多繼承。((interface) extends (interface1,interface2…))

抽象類和接口的差別

  • 成員差別

    ​ 抽象類 變量常量;有構造方法;有抽象方法,也有非抽象方法

    ​ 接口 常量;抽象方法

  • 關系差別

繼續閱讀