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

เราสามารถแทนที่วิธีการเริ่มต้นใน Java ได้หรือไม่?


อินเทอร์เฟซ ใน Java นั้นคล้ายกับคลาส แต่มีเฉพาะเมธอดและฟิลด์ที่เป็นนามธรรมซึ่งเป็นขั้นสุดท้ายและเป็นสแตติก

เนื่องจากมีการใช้เมธอดสแตติก Java8 และเมธอดเริ่มต้นในอินเทอร์เฟซ แตกต่างจากวิธีการนามธรรมอื่น ๆ วิธีการเหล่านี้สามารถมีการใช้งานเริ่มต้นได้ หากคุณมีวิธีการเริ่มต้นในอินเทอร์เฟซ ไม่จำเป็นต้องแทนที่ (ระบุเนื้อหา) ในคลาสที่ใช้อินเทอร์เฟซนี้อยู่แล้ว

กล่าวโดยย่อ คุณสามารถเข้าถึงวิธีการเริ่มต้นของอินเทอร์เฟซโดยใช้วัตถุของคลาสที่นำไปใช้

ตัวอย่าง

interface MyInterface{  
   public static int num = 100;
   public default void display() {
      System.out.println("display method of MyInterface");
   }
}
public class InterfaceExample implements MyInterface{
   public static void main(String args[]) {
      InterfaceExample obj = new InterfaceExample();
      obj.display();
   }
}

ผลลัพธ์

display method of MyInterface

การแทนที่วิธีการเริ่มต้น

คุณสามารถแทนที่เมธอดดีฟอลต์ของอินเทอร์เฟซจากคลาสการนำไปใช้

ตัวอย่าง

interface MyInterface{  
   public static int num = 100;
   public default void display() {
      System.out.println("display method of MyInterface");
   }
}
public class InterfaceExample implements MyInterface{
   public void display() {
      System.out.println("display method of class");
   }
   public static void main(String args[]) {
      InterfaceExample obj = new InterfaceExample();
      obj.display();
   }
}

ผลลัพธ์

display method of class