विभिन्न अन्य खोजशब्दों के साथ जावा भी इसे और सुपर विशेष खोजशब्दों के रूप में प्रदान करता है जो मुख्य रूप से एक वर्ग के वर्तमान उदाहरण और इसके सुपर क्लास का प्रतिनिधित्व करने के लिए उपयोग किया जाता है। इस समानता के साथ इन दोनों खोजशब्दों के बीच महत्वपूर्ण अंतर हैं जो नीचे सूचीबद्ध हैं -
Sr. नहीं. | कुंजी | <वें शैली="पाठ्य-संरेखण:केंद्र;">यहवें> <वें शैली="पाठ्य-संरेखण:केंद्र;">सुपरवें>||
---|---|---|---|
1 | प्रतिनिधित्व और संदर्भ | यह कीवर्ड मुख्य रूप से एक वर्ग के वर्तमान उदाहरण का प्रतिनिधित्व करता है। | दूसरी ओर सुपर कीवर्ड मूल वर्ग के वर्तमान उदाहरण का प्रतिनिधित्व करता है। |
2 | क्लास कंस्ट्रक्टर के साथ इंटरेक्शन | इस कीवर्ड को एक ही क्लास का डिफॉल्ट कंस्ट्रक्टर कहा जाता था। | पैरेंट क्लास के डिफॉल्ट कंस्ट्रक्टर को कॉल करने के लिए इस्तेमाल किया जाने वाला सुपर कीवर्ड। |
3 | विधि पहुंच योग्यता | इस कीवर्ड का उपयोग वर्तमान वर्ग के तरीकों तक पहुँचने के लिए किया जाता है क्योंकि इसमें वर्तमान वर्ग का संदर्भ है। | कोई सुपर कीवर्ड की मदद से पैरेंट क्लास के तरीके को एक्सेस कर सकता है। |
4 | स्थिर संदर्भ | इस कीवर्ड को स्थिर संदर्भ से संदर्भित किया जा सकता है यानी स्थिर उदाहरण से लागू किया जा सकता है। उदाहरण के लिए हम System.out.println(this.x) लिख सकते हैं जो बिना किसी संकलन या रनटाइम त्रुटि के x का मान प्रिंट करेगा। | दूसरी ओर सुपर कीवर्ड को स्थिर संदर्भ से संदर्भित नहीं किया जा सकता है यानी स्थिर उदाहरण से नहीं बुलाया जा सकता है। उदाहरण के लिए हम System.out.println(super.x) नहीं लिख सकते, इससे संकलन समय त्रुटि होगी। |
इस बनाम सुपर का उदाहरण
बराबर.jsp
class A { public int x, y; public A(int x, int y) { this.x = x; this.y = y; } } class B extends A { public int x, y; public B() { this(0, 0); } public B(int x, int y) { super(x + 1, y + 1);// calls parent class constructor this.x = x; this.y = y; } public void print() { System.out.println("Base class : {" + x + ", " + y + "}"); System.out.println("Super class : {" + super.x + ", " + super.y + "}"); } } class Point { public static void main(String[] args) { B obj = new B(); obj.print(); obj = new B(1, 2); obj.print(); } }
आउटपुट
Base class : {0, 0} Super class : {1, 1} Base class : {1, 2} Super class : {2, 3}