Computer >> Máy Tính >  >> Lập trình >> Java

Các phương thức mặc định của Java 8 trong giao diện

Java 8 giới thiệu một khái niệm mới về việc triển khai phương thức mặc định trong các giao diện. Khả năng này được thêm vào để tương thích ngược để các giao diện cũ có thể được sử dụng để tận dụng khả năng biểu thức lambda của Java 8.

Ví dụ:giao diện ‘Danh sách’ hoặc ‘Bộ sưu tập’ không có khai báo phương thức ‘forEach’. Do đó, việc thêm phương thức như vậy sẽ đơn giản phá vỡ các triển khai khung sưu tập. Java 8 giới thiệu phương thức mặc định để giao diện Danh sách / Bộ sưu tập có thể có một triển khai mặc định của phương thức forEach và lớp triển khai các giao diện này không cần triển khai giống nhau.

Ví dụ

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!");
   }
} 

Đầu ra

I am a vehicle!
I am a four wheeler!
Blowing horn!!!
I am a car!