อินเทอร์เฟซใน Java คล้ายกับคลาส แต่มีเฉพาะเมธอดและฟิลด์ที่เป็นนามธรรมซึ่งเป็นขั้นสุดท้ายและเป็นสแตติก
- เป็นข้อกำหนดของต้นแบบวิธีการ เมื่อใดก็ตามที่คุณต้องการแนะนำโปรแกรมเมอร์หรือทำสัญญาโดยระบุว่าวิธีการและฟิลด์ของประเภทควรเป็นอย่างไร คุณสามารถกำหนดอินเทอร์เฟซได้
- ถ้าคุณต้องการให้ชั้นเรียนของคุณทำตามข้อกำหนดบางอย่าง คุณต้องใช้อินเทอร์เฟซที่จำเป็นและจัดเตรียมเนื้อหาสำหรับวิธีนามธรรมทั้งหมดในอินเทอร์เฟซนั้น
- หากคุณไม่ได้จัดเตรียมการใช้งานเมธอดนามธรรมทั้งหมดของอินเทอร์เฟซ (คุณ นำไปใช้) ข้อผิดพลาดในการคอมไพล์จะถูกสร้างขึ้น
จะเกิดอะไรขึ้นหากมีการเพิ่มวิธีการใหม่ในอินเทอร์เฟซ
สมมติว่าเรากำลังใช้อินเทอร์เฟซบางอย่างและนำวิธีการนามธรรมทั้งหมดไปใช้ในอินเทอร์เฟซนั้นและมีการเพิ่มวิธีการใหม่ในภายหลัง จากนั้น คลาสทั้งหมดที่ใช้อินเทอร์เฟซนี้จะไม่ทำงาน เว้นแต่คุณจะใช้เมธอดที่เพิ่มใหม่ในแต่ละคลาส
เพื่อแก้ไขปัญหานี้โดยใช้วิธีการเริ่มต้นของ Java8
วิธีการเริ่มต้น
วิธีการเริ่มต้นเรียกอีกอย่างว่าวิธีป้องกันหรือวิธีการขยายเสมือน คุณสามารถกำหนดวิธีการเริ่มต้นโดยใช้ default คีย์เวิร์ดเป็น −
default void display() {
System.out.println("This is a default method");
} เมื่อเขียนการใช้งานเริ่มต้นไปยังวิธีการเฉพาะในอินเทอร์เฟซ ไม่จำเป็นต้องใช้งานในคลาสที่ใช้ (กำลังใช้งาน) อินเทอร์เฟซนี้อยู่แล้ว
ตัวอย่าง Java ต่อไปนี้สาธิตการใช้วิธีการเริ่มต้นใน Java
ตัวอย่าง
interface sampleInterface{
public void demo();
default void display() {
System.out.println("This is a default method");
}
}
public class DefaultMethodExample implements sampleInterface{
public void demo() {
System.out.println("This is the implementation of the demo method");
}
public static void main(String args[]) {
DefaultMethodExample obj = new DefaultMethodExample();
obj.demo();
obj.display();
}
} ผลลัพธ์
This is the implementation of the demo method This is a default method