ตาม 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(); } }