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