在 Java 中,接口 是一組方法特徵的集合,它定義了類必須實現的行為規範,但不包含具體實現。接口使用 interface 關鍵字聲明,是實現多態和解耦的關鍵機制。
[修飾符] interface 接口名 [extends 父接口列表] {
[public] [static] [final] 常量;
[public] [abstract] 方法簽名;
}
public static final,即常量public abstract,JDK 8+ 可使用 default 和 static 方法提供默認實現類通過 implements 關鍵字實現接口,必須實現接口中所有抽象方法(除非該類聲明為抽象類)。
[修飾符] class 類名 [extends 父類] [implements 接口列表] {
// 必須實現接口中所有抽象方法
// 方法簽名(名稱、返回類型、參數)必須與接口完全一致
}
implements A, B, C接口名.變量名 顯式指定繼承讓子類獲取父類的屬性和行為,實現「is-a」關係。使用 extends 關鍵字,Java 單繼承(只能繼承一個父類)。
[修飾符] class 子類名 extends 父類名 {
// 類體:新增屬性、方法,或重寫父類方法
}
子類重新定義父類中可訪問的方法,稱為重寫或覆蓋。父類方法被隱藏,調用時執行子類版本。
super.方法名() 調用父類被重寫的方法多態是面向對象三大特性之一,允許父類引用指向子類對象,運行時根據實際對象類型動態綁定方法。
// 父類引用指向子類對象
Animal animal = new Cat();
animal.sound(); // 執行 Cat 的 sound(),而非 Animal 的
多態的前提:繼承/實現關係、方法重寫、父類引用指向子類對象。
@Override 註解防止重寫錯誤