在Java 8中,接口可以包含默認方法(default methods),這些方法可以有默認實現。如果一個類實現了包含默認方法的接口,并且沒有提供這個方法的實現,則會使用接口中的默認實現。
如果需要重寫接口中的默認方法,可以在實現類中提供具有相同簽名的非默認實現。
下面是一個簡單的例子:
interface MyInterface {// 默認方法default void printMessage() {System.out.println("這是一個默認方法");}
}class MyClass implements MyInterface {// 重寫默認方法@Overridepublic void printMessage() {System.out.println("這是重寫后的方法");}
}public class Main {public static void main(String[] args) {MyClass myClass = new MyClass();myClass.printMessage(); // 輸出:這是重寫后的方法}
}
在這個例子中,MyInterface
?定義了一個默認方法?printMessage
。MyClass
?實現了這個接口并重寫了?printMessage
?方法。當?main
?方法中創建了?MyClass
?的實例并調用?printMessage
?方法時,輸出將是重寫后的消息。