जावा में, अमूर्त वर्गों और इंटरफेस का उपयोग करके अमूर्तता प्राप्त की जाती है। एक अमूर्त वर्ग में अमूर्त विधियाँ होती हैं जो एक बाल वर्ग होती हैं। अमूर्त वर्ग और ठोस वर्ग के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।
Sr. नहीं। वें> <वें शैली ="पाठ-संरेखण:केंद्र; चौड़ाई:9.3197%;">कुंजी वें> <वें शैली ="पाठ-संरेखण:केंद्र;">सार वर्ग वें> <वें शैली ="पाठ-संरेखण:केंद्र;">ठोस वर्ग वें> | |||
---|---|---|---|
1 | समर्थित तरीके | एब्स्ट्रैक्ट क्लास में एब्सट्रैक्ट और ठोस दोनों तरीके हो सकते हैं। | एक ठोस वर्ग में केवल ठोस तरीके हो सकते हैं। यहां तक कि एक अमूर्त विधि भी वर्ग को अमूर्त बनाती है। |
2 | तत्काल | नए कीवर्ड का उपयोग करके सार वर्ग को तत्काल नहीं किया जा सकता है। | नए कीवर्ड का उपयोग करके कंक्रीट क्लास को इंस्टेंट किया जा सकता है। |
3 | सार विधि | सार वर्ग में अमूर्त विधियाँ हो भी सकती हैं और नहीं भी। | कंक्रीट क्लास में अमूर्त विधि नहीं हो सकती। |
4 | अंतिम | सार वर्ग को अंतिम वर्ग के रूप में घोषित नहीं किया जा सकता है। | कंक्रीट वर्ग को अंतिम घोषित किया जा सकता है। |
5 | कीवर्ड | एब्स्ट्रैक्ट क्लास को एब्स्ट्रैक्ट कीवर्ड का उपयोग करके घोषित किया गया। | घोषणा के दौरान कंक्रीट वर्ग में अमूर्त कीवर्ड नहीं है। |
6 | विरासत | एब्स्ट्रैक्ट क्लास एक्सटेंडेड कीवर्ड का उपयोग करके और एक इंटरफेस को लागू करने के लिए एक और क्लास इनहेरिट कर सकता है। | इंटरफ़ेस केवल एक पूर्णांक को इनहेरिट कर सकता है। |
7 | इंटरफ़ेस | सार वर्ग अकेले इंटरफ़ेस को लागू नहीं कर सकता है। तत्काल के लिए इंटरफ़ेस का उपयोग करने में सक्षम होने के लिए एक बाल वर्ग की आवश्यकता है। | इंटरफ़ेस को आसानी से लागू किया जा सकता है। |
एब्स्ट्रैक्ट क्लास बनाम कंक्रीट क्लास का उदाहरण
JavaTester.java
public class JavaTester { public static void main(String args[]) { Cat lion = new Lion(); lion.eat(); } } abstract class Cat { abstract public void eat(); } class Lion extends Cat{ public void eat(){ System.out.println("Lion eats"); } }
आउटपुट
Lion eats