कक्षा
एक वर्ग एक खाका है जिससे अलग-अलग ऑब्जेक्ट बनाए जाते हैं। एक वर्ग में निम्न में से कोई भी चर प्रकार हो सकता है।
-
स्थानीय चर - मेथड्स, कंस्ट्रक्टर्स या ब्लॉक्स के अंदर परिभाषित वेरिएबल्स को लोकल वेरिएबल्स कहा जाता है। वेरिएबल घोषित किया जाएगा और मेथड के भीतर इनिशियलाइज़ किया जाएगा और मेथड के पूरा होने पर वेरिएबल नष्ट हो जाएगा।
-
इंस्टेंस वैरिएबल - उदाहरण चर एक वर्ग के भीतर लेकिन किसी भी विधि के बाहर चर हैं। इन वेरिएबल्स को इनिशियलाइज़ किया जाता है जब क्लास को इंस्टेंट किया जाता है। इंस्टेंस वेरिएबल को उस विशेष वर्ग के किसी भी तरीके, कंस्ट्रक्टर या ब्लॉक के अंदर से एक्सेस किया जा सकता है।
-
वर्ग चर - क्लास वेरिएबल एक क्लास के भीतर, किसी भी मेथड के बाहर, स्टैटिक कीवर्ड के साथ घोषित वेरिएबल हैं।
इंटरफ़ेस
जावा में एक इंटरफ़ेस एक संदर्भ प्रकार है। यह वर्ग के समान है। यह अमूर्त विधियों का एक संग्रह है। एक वर्ग एक इंटरफ़ेस लागू करता है, जिससे इंटरफ़ेस के अमूर्त तरीकों को विरासत में मिलता है।
अमूर्त विधियों के साथ, एक इंटरफ़ेस में स्थिरांक, डिफ़ॉल्ट विधियाँ, स्थिर विधियाँ और नेस्टेड प्रकार भी हो सकते हैं। विधि निकाय केवल डिफ़ॉल्ट विधियों और स्थिर विधियों के लिए मौजूद हैं।
एक इंटरफ़ेस लिखना एक वर्ग लिखने के समान है। लेकिन एक वर्ग किसी वस्तु की विशेषताओं और व्यवहारों का वर्णन करता है। और एक इंटरफ़ेस में ऐसे व्यवहार होते हैं जो एक वर्ग लागू करता है।
क्लास और इंटरफेस के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।
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