क्या Object
जावा में वर्ग से वंशानुक्रम में अंतर होता है ?
नहीं, वे नहीं करते। और कोई आम "जड़" इंटरफ़ेस नहीं है जो उस मामले के लिए या तो (सभी वर्गों के मामले में) इंटरफेस के द्वारा विरासत में मिला है। (*)
यदि नहीं, तो कैसे हम इंटरफ़ेस उदाहरण पर ऑब्जेक्ट क्लास की विधि को कॉल करने में सक्षम हैं
प्रत्येक सार्वजनिक विधि के लिए एक इंटरफ़ेस ने स्पष्ट रूप से एक विधि घोषित की है Object
। इस प्रकार equals
विधि को स्पष्ट रूप से एक इंटरफ़ेस में एक सदस्य के रूप में घोषित किया जाता है (जब तक कि यह पहले से ही एक सुपरनोटफेस से विरासत में नहीं मिलता है)।
यह जावा लैंग्वेज स्पेसिफिकेशन,। 9.2 इंटरफेस मेंबर्स के बारे में विस्तार से बताया गया है ।
9.2 इंटरफ़ेस सदस्य
[...]
- एक अंतरफलक कोई सीधा superinterfaces है, तो इंटरफ़ेस परोक्ष एक सार्वजनिक सार सदस्य विधि वाणी मीटर हस्ताक्षर के साथ रों , वापसी प्रकार आर , और खंड फेंकता टी हस्ताक्षर के साथ प्रत्येक सार्वजनिक दृष्टांत विधि मीटर करने के लिए इसी रों , वापसी प्रकार आर , और खंड फेंकता टी घोषित किया जाता है
Object
, जब तक कि एक ही हस्ताक्षर, एक ही वापसी प्रकार और एक संगत थ्रो क्लॉज वाली एक विधि स्पष्ट रूप से इंटरफ़ेस द्वारा घोषित नहीं की जाती है।
[...]
इस पोस्ट को यहाँ एक लेख के रूप में फिर से लिखा गया है ।
(*) ध्यान दें कि एक उपप्रकार होने की धारणा विरासत से समतुल्य नहीं है : कोई सुपर इंटरफ़ेस वाले इंटरफेस वास्तव में Object
(10 4.10.2 के सबटाइप होते हैं। वर्ग और इंटरफ़ेस प्रकारों के बीच घटाव ) भले ही वे विरासत से नहीं हैं Object
।