Java 8 的預設方法、防禦方法或擴充套件方法是什麼?
Java 8 引入了在介面中實現預設方法的新概念。新增此功能是為了向後相容性,以便可以將舊介面用於利用 Java 8 的 lambda 表示式功能。
例如,“List”或“Collection”介面沒有“foreach”方法宣告。因此,新增此類方法只會中斷集合框架的實現。Java 8 引入了預設方法,以便列表/集合介面可以具有 foreach 方法的預設實現,並且實現這些介面的類不需要實現相同的實現。
語法
public interface vehicle {
default void print() {
System.out.println("I am a vehicle!");
}
}
例項
public class Java8Tester {
public static void main(String args[]) {
Vehicle vehicle = new Car();
vehicle.print();
}
}
interface Vehicle {
default void print() {
System.out.println("I am a vehicle!");
}
static void blowHorn() {
System.out.println("Blowing horn!!!");
}
}
interface FourWheeler {
default void print() {
System.out.println("I am a four wheeler!");
}
}
class Car implements Vehicle, FourWheeler {
public void print() {
Vehicle.super.print();
FourWheeler.super.print();
Vehicle.blowHorn();
System.out.println("I am a car!");
}
}
輸出
I am a vehicle! I am a four wheeler! Blowing horn!!! I am a car!
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP