Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में इंटरफेस दूसरी इंटरफेस को इम्प्लीमेंट क्यों नहीं कर सकता?


Java में एक इंटरफेस दूसरी इंटरफेस को इम्प्लीमेंट नहीं कर सकता।

  • Java में एक इंटरफेस अनिवार्य रूप से एक विशेष प्रकार की क्लास है। क्लासेस की तरह, इंटरफेस में मेथड्स और वेरिएबल्स होते हैं। क्लासेस के विपरीत, इंटरफेसेस हमेशा पूरी तरह से एब्सट्रैक्ट होते हैं।
  • एक इंटरफेस को ठीक उसी तरह परिभाषित किया जाता है जैसे क्लास को, सिवाय इंटरफेस कीवर्ड के क्लास के स्थान पर, इंटरफेस में घोषित वेरिएबल्स static और final होते हैं और इंटरफेस में परिभाषित मेथड्स public abstract मेथड्स होते हैं।
  • एक इंटरफेस extend कर सकता है किसी भी संख्या में इंटरफेसेस लेकिन एक इंटरफेस इम्प्लीमेंट नहीं कर सकता दूसरी इंटरफेस को, क्योंकि यदि कोई इंटरफेस इम्प्लीमेंट किया जाता है तो उसके मेथड्स को परिभाषित किया जाना चाहिए और इंटरफेस में कभी किसी मेथड की परिभाषा नहीं होती।
  • यदि हम एक इंटरफेस को दूसरी इंटरफेस के साथ इम्प्लीमेंट करने का प्रयास करते हैं, तो यह जावा में कंपाइल-टाइम एरर फेंकेगा।

उदाहरण

interface MainInterface {
    void mainMethod();
}
interface SubInterface extends MainInterface { // यदि हम implements कीवर्ड extends के स्थान पर रखते हैं,
    // कंपाइलर एरर फेंकता है।
    void subMethod();
}
class MainClass implements MainInterface {
    public void mainMethod() {
        System.out.println("Main Interface Method");
    }
    public void subMethod() {
        System.out.println("Sub Interface Method");
    }
}
public class Test {
    public static void main(String args[]) {
        MainClass main = new MainClass();
        main.mainMethod();
        main.subMethod();
    }
}

आउटपुट

Main Interface Method
Sub Interface Method

  1. - Java 8 में इंटरफेस संवर्द्धन (Interface Enhancements)

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

  1. - Java में इंटरफेस (Interface)

    एक इंटरफेस Java में एक रेफरेंस टाइप है। यह एक क्लास के समान है। यह एब्स्ट्रैक्ट मेथड्स का एक संग्रह है। एक क्लास इंटरफेस को इम्प्लीमेंट करती है, जिससे इंटरफेस के एब्स्ट्रैक्ट मेथड्स विरासत में मिलते हैं। एब्स्ट्रैक्ट मेथड्स के साथ, एक इंटरफेस में कॉन्स्टेंट्स, डिफ़ॉल्ट मेथड्स, स्टेटिक मेथड्स, और न

  1. - Java में कंस्ट्रक्टर final क्यों नहीं हो सकता

    final कीवर्ड एक मेथड को ओवरराइड होने से रोकता है। एक कंस्ट्रक्टर को ओवरराइड नहीं किया जा सकता, Java इसे final के रूप में चिह्नित करने की अनुमति नहीं देता।