天天看點

接口型模式(學校招聘會)

接口型模式

接口和抽象類的差別

  1. abstract class在Java語言中表示的是一種繼承關系,一個類隻能使用一次繼承關系。但是,一個類卻可以實作多個interface。
  2. 在abstract class中可以有自己的資料成員,也可以有非 abstaret 的成員方法,而在interface 中,隻能夠有靜态的不能被修改的資料成員(也就是必須是static final的,不過在interface 中一般不定義資料成員),所有的成員方法都是abstract的。
  3. abstract class 和 interface所反映出的設計理念不同。abstract class表示的是‘is -a’關系,interface表示的是‘like - a’關系。
  4. 實作抽象類和接口的類必須實作其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實作方法。
  5. 接口中定義的變量預設是public static final型,且必須給其初值,是以實作類中不能重新定義,也不能改變其值。
  6. 抽象類中的變量預設是friendly型,其值可以在子類中重新定義,也可以重新指派。
  7. 接口中的方法預設都是public,abstract類型的。

接口和委托的差別