介面(interface)

預設

內部方法 - 預設帶有 public abstract 關鍵字。

內部參數 - 預設帶有 public static final 關鍵字,明確指定值的參數皆是列舉常數

與抽象類別的差異

預設情況下

  • 介面的成員帶有 final,抽象類別則沒有限定。

  • 介面的成員帶有 public ,抽象類別則沒有限定,可符合一般類別風格。

  • 介面預設帶有 abstract 不能具有實例、實現方法,抽象類別則可符合一般類別風格。

介面實作應使用 implements 關鍵字,抽象類別 則是 extends 關鍵字。

一般類別可以實作多個介面,一般類別只能繼承一個抽象類別

Java 8 默認方法

JAVA 8 開始在介面提供了 默認方法 (Default Methods)

同樣也可以透過實現介面重寫

因為介面與其耦合程度太高(tightly coupled)的關係,才出了此方法,

常用的 Iterable 介面 .forEach,就是 default Methods。

Last updated

Was this helpful?