इस पोस्ट में, हम जावा में क्लास और इंटरफेस के बीच अंतर को समझेंगे।
Class
यह बताता है कि एक ऑब्जेक्ट में कौन से गुण और व्यवहार होने चाहिए।
इसमें एब्स्ट्रैक्ट मेथड्स के साथ-साथ सामान्य मेथड्स भी हो सकते हैं।
इसे बनाने की कीवर्ड 'class' है।
इसे इंस्टेंटिएट किया जा सकता है।
यह मल्टीपल इनहेरिटेंस को सपोर्ट नहीं करता।
यह एक क्लास को इनहेरिट कर सकता है।
क्लास के पैरेंट का नाम (यदि कोई हो) 'extends' कीवर्ड से पहले होता है।
क्लास में मेंबर्स पब्लिक, प्राइवेट या प्रोटेक्टेड हो सकते हैं।
क्लास बॉडी '{' और '}' से घिरी होती है।
वेरिएबल्स स्टैटिक या फाइनल या सामान्य वेरिएबल्स हो सकते हैं।
Interface
इसमें वे व्यवहार होते हैं जो एक क्लास द्वारा इम्प्लीमेंट किए जाते हैं।
इसे बनाने की कीवर्ड 'interface' है।
इसे इंस्टेंटिएट नहीं किया जा सकता।
यह मल्टीपल इनहेरिटेंस को सपोर्ट करता है।
इसमें केवल एब्स्ट्रैक्ट मेथड्स हो सकते हैं।
यह इंटरफेस को इनहेरिट करने के लिए 'extends' का उपयोग करता है।
सभी वेरिएबल्स स्टैटिक और फाइनल हैं।
यह एक क्लास को इनहेरिट नहीं कर सकता।
यह क्लास के लिए एक ब्लूप्रिंट है।
यह बताता है कि एक क्लास को क्या करना चाहिए, न कि कैसे करना चाहिए।
इंटरफेस के मेंबर्स डिफ़ॉल्ट रूप से पब्लिक होते हैं।