Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีการเริ่มต้น Java 8 ในอินเทอร์เฟซ


Java 8 นำเสนอแนวคิดใหม่ของการนำวิธีการเริ่มต้นไปใช้ในอินเทอร์เฟซ ความสามารถนี้ถูกเพิ่มสำหรับความเข้ากันได้แบบย้อนหลังเพื่อให้อินเทอร์เฟซเก่าสามารถใช้เพื่อยกระดับความสามารถนิพจน์แลมบ์ดาของ Java 8

ตัวอย่างเช่น อินเทอร์เฟซ 'List' หรือ 'Collection' ไม่มีการประกาศเมธอด 'forEach' ดังนั้นการเพิ่มวิธีการดังกล่าวจะเป็นการทำลายการใช้งานเฟรมเวิร์กการรวบรวม Java 8 แนะนำวิธีการเริ่มต้นเพื่อให้อินเทอร์เฟซรายการ/คอลเลกชันสามารถมีการใช้งานเริ่มต้นของวิธีการ forEach และคลาสที่ใช้อินเทอร์เฟซเหล่านี้ไม่จำเป็นต้องใช้งานแบบเดียวกัน

ตัวอย่าง

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!