我們可以在 Java 中覆蓋預設方法嗎?
Java 中的介面與類類似,但是隻包含最終且為靜態的抽象方法和欄位。
自從 Java8 之後,在介面中引入了靜態方法和預設方法。與其他抽象方法不同,這些方法可以擁有預設實現。如果在介面中有預設方法,那麼在已經實現該介面的類中覆蓋(提供主體)該方法並不是必須的。
簡而言之,你可以使用實現類的物件來訪問介面的預設方法。
示例
interface MyInterface{
public static int num = 100;
public default void display() {
System.out.println("display method of MyInterface");
}
}
public class InterfaceExample implements MyInterface{
public static void main(String args[]) {
InterfaceExample obj = new InterfaceExample();
obj.display();
}
}輸出
display method of MyInterface
覆蓋預設方法
你可以在實現類中覆蓋介面的預設方法。
示例
interface MyInterface{
public static int num = 100;
public default void display() {
System.out.println("display method of MyInterface");
}
}
public class InterfaceExample implements MyInterface{
public void display() {
System.out.println("display method of class");
}
public static void main(String args[]) {
InterfaceExample obj = new InterfaceExample();
obj.display();
}
}輸出
display method of class
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
JavaScript
PHP