Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> 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


  1. जावा में डिफ़ॉल्ट विधियों का उपयोग करके हीरे की समस्या को कैसे हल करें?

    विरासत दो वर्गों के बीच एक संबंध है जहां एक वर्ग दूसरे वर्ग के गुणों को प्राप्त करता है। इस संबंध को - . के रूप में विस्तृत कीवर्ड का उपयोग करके परिभाषित किया जा सकता है public class A extends B{ } जिस वर्ग को गुण विरासत में मिलते हैं उसे उप वर्ग या बाल वर्ग के रूप में जाना जाता है और जिस वर्ग की

  1. हम जावा में JTextArea के अंदर लाइन नंबर कैसे प्रदर्शित कर सकते हैं?

    A JTextArea JTextComponent . का उपवर्ग है और यह एक बहु-पंक्ति पाठ है पाठ प्रदर्शित करने या उपयोगकर्ता को पाठ दर्ज करने की अनुमति देने के लिए घटक। एक JTextArea एक CareListener . उत्पन्न कर सकता है इंटरफ़ेस, जो कैरेट अद्यतन घटनाओं को सुन सकता है। डिफ़ॉल्ट रूप से, JTextArea लाइन नंबर प्रदर्शित नहीं

  1. इंटरफेस में जावा 8 डिफ़ॉल्ट तरीके

    जावा 8 इंटरफेस में डिफ़ॉल्ट विधि कार्यान्वयन की एक नई अवधारणा पेश करता है। इस क्षमता को पश्चगामी संगतता के लिए जोड़ा जाता है ताकि पुराने इंटरफेस का उपयोग जावा 8 की लैम्ब्डा अभिव्यक्ति क्षमता का लाभ उठाने के लिए किया जा सके। उदाहरण के लिए, सूची या संग्रह इंटरफेस में प्रत्येक के लिए विधि घोषणा नहीं