อินเทอร์เฟซใน Java เป็นข้อกำหนดของต้นแบบวิธีการ เมื่อใดก็ตามที่คุณต้องการแนะนำโปรแกรมเมอร์หรือทำสัญญาโดยระบุว่าวิธีการและฟิลด์ของประเภทควรเป็นอย่างไร คุณสามารถกำหนดอินเทอร์เฟซได้
ในการสร้างวัตถุประเภทนี้ คุณต้องใช้อินเทอร์เฟซนี้ จัดเตรียมเนื้อหาสำหรับวิธีนามธรรมทั้งหมดของอินเทอร์เฟซ และรับวัตถุของคลาสการนำไปใช้
ตัวอย่าง
interface Sample { void demoMethod1(); void demoMethod2(); void demoMethod3(); } public class InterfaceExample implements Sample { public void demoMethod1() { System.out.println("This is demo method-1"); } public void demoMethod2() { System.out.println("This is demo method-2"); } public void demoMethod3() { System.out.println("This is demo method-3"); } public static void main(String args[]) { InterfaceExample obj = new InterfaceExample(); obj.demoMethod1(); obj.demoMethod1(); obj.demoMethod3(); } }
ผลลัพธ์
This is demo method-1 This is demo method-2 This is demo method-3
ขณะใช้งานอินเทอร์เฟซ จำเป็นต้องแทนที่เมธอด abstract ทั้งหมด หากคุณข้ามการแทนที่เมธอด abstract ใด ๆ ข้อผิดพลาดเวลาคอมไพล์จะถูกสร้างขึ้น
ตัวอย่าง
interface Sample { void demoMethod1(); void demoMethod2(); void demoMethod3(); } public class InterfaceExample implements Sample { public void demoMethod1() { System.out.println("This is demo method-1"); } public void demoMethod2() { System.out.println("This is demo method-2"); } public static void main(String args[]) { InterfaceExample obj = new InterfaceExample(); obj.demoMethod1(); obj.demoMethod2(); } }
ผลลัพธ์
InterfaceExample.java:6: error: InterfaceExample is not abstract and does not override abstract method demoMethod3() in Sample public class InterfaceExample implements Sample{ ^ 1 error
แต่ถ้าคุณต้องการแทนที่วิธีนามธรรมเพียงวิธีเดียว -
คุณสามารถปล่อยให้ วิธีการที่เหลือไม่ได้ดำเนินการ เป็น −
ตัวอย่าง
interface Sample { void demoMethod1(); void demoMethod2(); void demoMethod3(); } public class InterfaceExample implements Sample { public void demoMethod1() { System.out.println("This is demo method-1"); } public void demoMethod2() { } public void demoMethod3() { } public static void main(String args[]) { InterfaceExample obj = new InterfaceExample(); obj.demoMethod1(); obj.demoMethod2(); obj.demoMethod3(); } }
ผลลัพธ์
This is demo method-1
เนื่องจากไม่จำเป็นต้องใช้ int ในการปรับใช้เมธอดเริ่มต้นของอินเทอร์เฟซ คุณสามารถประกาศเมธอดที่เหลือได้ default เป็น −
ตัวอย่าง
interface Sample { void demoMethod1(); default void demoMethod2() { System.out.println("Default demo method 2"); } default void demoMethod3() { System.out.println("Default demo method 3"); } } public class InterfaceExample implements Sample { public void demoMethod1() { System.out.println("This is demo method-1"); } public static void main(String args[]) { InterfaceExample obj = new InterfaceExample(); obj.demoMethod1(); obj.demoMethod2(); obj.demoMethod3(); } }
ผลลัพธ์
This is demo method-1 Default demo method 2 Default demo method 3