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

जावा में इंटरफेस और क्लास के बीच अंतर

कक्षा

एक वर्ग एक खाका है जिससे अलग-अलग ऑब्जेक्ट बनाए जाते हैं। एक वर्ग में निम्न में से कोई भी चर प्रकार हो सकता है।

  • स्थानीय चर - मेथड्स, कंस्ट्रक्टर्स या ब्लॉक्स के अंदर परिभाषित वेरिएबल्स को लोकल वेरिएबल्स कहा जाता है। वेरिएबल घोषित किया जाएगा और मेथड के भीतर इनिशियलाइज़ किया जाएगा और मेथड के पूरा होने पर वेरिएबल नष्ट हो जाएगा।

  • इंस्टेंस वैरिएबल - उदाहरण चर एक वर्ग के भीतर लेकिन किसी भी विधि के बाहर चर हैं। इन वेरिएबल्स को इनिशियलाइज़ किया जाता है जब क्लास को इंस्टेंट किया जाता है। इंस्टेंस वेरिएबल को उस विशेष वर्ग के किसी भी तरीके, कंस्ट्रक्टर या ब्लॉक के अंदर से एक्सेस किया जा सकता है।

  • वर्ग चर - क्लास वेरिएबल एक क्लास के भीतर, किसी भी मेथड के बाहर, स्टैटिक कीवर्ड के साथ घोषित वेरिएबल हैं।

इंटरफ़ेस

जावा में एक इंटरफ़ेस एक संदर्भ प्रकार है। यह वर्ग के समान है। यह अमूर्त विधियों का एक संग्रह है। एक वर्ग एक इंटरफ़ेस लागू करता है, जिससे इंटरफ़ेस के अमूर्त तरीकों को विरासत में मिलता है।

अमूर्त विधियों के साथ, एक इंटरफ़ेस में स्थिरांक, डिफ़ॉल्ट विधियाँ, स्थिर विधियाँ और नेस्टेड प्रकार भी हो सकते हैं। विधि निकाय केवल डिफ़ॉल्ट विधियों और स्थिर विधियों के लिए मौजूद हैं।

एक इंटरफ़ेस लिखना एक वर्ग लिखने के समान है। लेकिन एक वर्ग किसी वस्तु की विशेषताओं और व्यवहारों का वर्णन करता है। और एक इंटरफ़ेस में ऐसे व्यवहार होते हैं जो एक वर्ग लागू करता है।

क्लास और इंटरफेस के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।

Sr. नहीं।
<वें शैली ="पाठ-संरेखण:केंद्र; चौड़ाई:16.5306%;">कुंजी
<वें शैली ="पाठ-संरेखण:केंद्र;">कक्षा
<वें शैली ="पाठ-संरेखण:केंद्र;">इंटरफ़ेस
1
समर्थित तरीके
एक वर्ग में सार और ठोस दोनों तरीके हो सकते हैं।
इंटरफ़ेस में केवल सार विधियाँ हो सकती हैं। जावा 8 के बाद, इसमें डिफ़ॉल्ट के साथ-साथ स्थिर तरीके भी हो सकते हैं।
2
एकाधिक वंशानुक्रम
एकाधिक वंशानुक्रम समर्थित नहीं है।
इंटरफ़ेस एकाधिक वंशानुक्रम का समर्थन करता है।
3
समर्थित चर
अंतिम, गैर-अंतिम, स्थिर और गैर-स्थिर चर समर्थित हैं।
केवल स्थिर और अंतिम चर की अनुमति है।
4
कार्यान्वयन
एक वर्ग एक इंटरफ़ेस लागू कर सकता है।
इंटरफ़ेस एक इंटरफ़ेस को लागू नहीं कर सकता, यह एक इंटरफ़ेस का विस्तार कर सकता है।
5
कीवर्ड
क्लास कीवर्ड का उपयोग करके एक वर्ग घोषित किया जाता है।
इंटरफ़ेस कीवर्ड का उपयोग करके इंटरफ़ेस घोषित किया गया है।
6
विरासत
एक वर्ग विस्तारित कीवर्ड का उपयोग करके और एक इंटरफ़ेस को लागू करके किसी अन्य वर्ग को इनहेरिट कर सकता है।
इंटरफ़ेस केवल एक पूर्णांक को इनहेरिट कर सकता है।
7
विरासत
एक वर्ग को विस्तृत कीवर्ड का उपयोग करके इनहेरिट किया जा सकता है।
इंटरफ़ेस को केवल इम्प्लीमेंट कीवर्ड का उपयोग करके लागू किया जा सकता है।
8
पहुँच
एक वर्ग में निजी, सार्वजनिक जैसे किसी भी प्रकार के सदस्य हो सकते हैं।
इंटरफ़ेस में केवल सार्वजनिक सदस्य हो सकते हैं।
9
कन्स्ट्रक्टर
एक वर्ग में कंस्ट्रक्टर विधियाँ हो सकती हैं।
इंटरफ़ेस में कंस्ट्रक्टर नहीं हो सकता।

कक्षा बनाम इंटरफ़ेस का उदाहरण

JavaTester.java

public class JavaTester {
   public static void main(String args[]) {
      Animal tiger = new Tiger();
      tiger.eat();
      Tiger tiger1 = new Tiger();
      tiger1.eat();
   }
}
interface Animal {
   public void eat();
}
class Tiger implements Animal {
   public void eat(){
      System.out.println("Tiger eats");
   }
}

आउटपुट

Tiger eats
Tiger eats

  1. जावा में इवेंट श्रोता इंटरफ़ेस और इवेंट एडेप्टर क्लास के बीच क्या अंतर हैं?

    एक ईवेंट लिस्टनर इंटरफ़ेस उन विधियों को परिभाषित करता है जिन्हें किसी विशेष प्रकार के ईवेंट के लिए ईवेंट हैंडलर द्वारा कार्यान्वित किया जाना चाहिए जबकि ईवेंट एडाप्टर class एक EventListener . का डिफ़ॉल्ट कार्यान्वयन प्रदान करता है इंटरफ़ेस। ईवेंट श्रोता द ईवेंट श्रोता घटनाओं को संभालने के लिए

  1. जावा में एक्सेप्शन क्लास और एरर क्लास में क्या अंतर हैं?

    अपवाद वर्ग और त्रुटि वर्ग दोनों java.lang.Throwable वर्ग के उपवर्ग हैं, हम रनटाइम पर अपवादों को संभालने में सक्षम हो सकते हैं लेकिन त्रुटियों को हम संभाल नहीं सकते हैं। अपवाद वे ऑब्जेक्ट हैं जो रन टाइम पर होने वाली तार्किक त्रुटियों का प्रतिनिधित्व करते हैं और JVM को अस्पष्टता की स्थिति में प्रवेश

  1. जावा में इंटरफ़ेस

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