อินเทอร์เฟซใน 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