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