介面(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?