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

ความแตกต่างระหว่างวิธีการเริ่มต้นและอินเทอร์เฟซแบบคงที่ใน Java 8


ตาม Javadocs ของ Oracle -

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

วิธีสแตติกคือวิธีการที่เกี่ยวข้องกับคลาสที่มีการกำหนดไว้มากกว่ากับอ็อบเจกต์ใดๆ ทุกอินสแตนซ์ของคลาสใช้เมธอดแบบคงที่

เมธอดแบบคงที่ในอินเทอร์เฟซเป็นส่วนหนึ่งของคลาสอินเทอร์เฟซไม่สามารถนำไปใช้หรือแทนที่ได้ในขณะที่คลาสสามารถแทนที่เมธอดเริ่มต้นได้

ซีเนียร์ เลขที่ คีย์ วิธีการอินเตอร์เฟสแบบคงที่ วิธีการเริ่มต้น
1
พื้นฐาน
เป็นวิธีการแบบคงที่ซึ่งเป็นของอินเทอร์เฟซเท่านั้น เราสามารถเขียนการดำเนินการของวิธีนี้ในอินเทอร์เฟซเอง
เป็นเมธอดที่มีคีย์เวิร์ดเริ่มต้น และคลาสสามารถแทนที่เมธอดนี้ได้
2
การเรียกใช้เมธอด
เมธอดแบบสแตติกสามารถเรียกใช้ได้เฉพาะในคลาสอินเตอร์เฟสเท่านั้น ไม่ใช่ในคลาส
สามารถเรียกใช้ได้ทั้งบนอินเทอร์เฟซและคลาส
3
ชื่อวิธีการ
อินเทอร์เฟซและการนำคลาสไปใช้ ทั้งคู่สามารถมีเมธอดแบบสแตติกที่มีชื่อเดียวกันโดยไม่ต้องแทนที่กัน
เราสามารถแทนที่วิธีการเริ่มต้นในการใช้งาน class
4.
ใช้ตัวพิมพ์
สามารถใช้เป็นยูทิลิตี้ได้
สามารถใช้เพื่อให้การทำงานทั่วไปในคลาสที่นำไปใช้ทั้งหมด

ตัวอย่างวิธีการเริ่มต้นและแบบคงที่ในอินเทอร์เฟซ

public interface DefaultStaticExampleInterface {
   default void show() {
      System.out.println("In Java 8- default method - DefaultStaticExampleInterface");
   }
   static void display() {
      System.out.println("In DefaultStaticExampleInterface I");
   }
}
public class DefaultStaticExampleClass implements DefaultStaticExampleInterface {
}
public class Main {
   static void main(String args[]) {
      // Call interface static method on Interface
      DefaultStaticExampleInterface.display();
      DefaultStaticExampleClass defaultStaticExampleClass = new DefaultStaticExampleClass();
     
      // Call default method on Class
      defaultStaticExampleClass.show();
   }
}