介面可宣告 default 方法,並支援多重繼承(interface A extends B, C),解決單一繼承限制。
Serializable, Comparable, Runnable),類別實作多個介面即組合獲得這些能力。default 方法衝突時編譯器強制實作類別顯式覆寫,語義清晰。Face > Eye > Color),介面繼承將相關契約分組,使類別宣告更具語意:class User implements Authenticatable, Auditable, Serializable。interface Loggable { default void log(String msg) { System.out.println(msg); } }
interface Auditable { default void audit() { log("audit"); } } // 可呼叫 Loggable 方法
interface Authenticatable extends Loggable, Auditable { default void auth() { log("auth"); } }
class User implements Authenticatable { }
User 同時擁有 log、audit、auth 三個預設方法,無需繼承具體類別。
介面多重繼承不是為了「多繼承」本身,而是為了將行為契約模組化、組合化,讓類別聲明更清晰地表達「我能做什麼」,而非「我是什麼」。