एक इंटरफ़ेस जावा में वर्ग के समान है लेकिन, इसमें केवल सार विधियाँ और फ़ील्ड हैं जो अंतिम और स्थिर हैं।
चूंकि 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