Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा प्रोग्राम में सुपर () और इस () के बीच अंतर

विभिन्न अन्य खोजशब्दों के साथ जावा भी इसे और सुपर विशेष खोजशब्दों के रूप में प्रदान करता है जो मुख्य रूप से एक वर्ग के वर्तमान उदाहरण और इसके सुपर क्लास का प्रतिनिधित्व करने के लिए उपयोग किया जाता है। इस समानता के साथ इन दोनों खोजशब्दों के बीच महत्वपूर्ण अंतर हैं जो नीचे सूचीबद्ध हैं -

<वें शैली="पाठ्य-संरेखण:केंद्र;">यह <वें शैली="पाठ्य-संरेखण:केंद्र;">सुपर
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}

  1. जावा में थ्रेड और रननेबल के बीच अंतर

    निष्पादन का एक नया धागा बनाने के दो तरीके हैं। एक वर्ग को थ्रेड वर्ग का उपवर्ग घोषित करना है। इस उपवर्ग को थ्रेड क्लास की रन विधि को ओवरराइड करना चाहिए। उपवर्ग का एक उदाहरण तब आवंटित और शुरू किया जा सकता है। थ्रेड बनाने का दूसरा तरीका एक वर्ग घोषित करना है जो रननेबल इंटरफ़ेस को लागू करता है। वह वर्

  1. जावा में अपवाद और त्रुटि के बीच अंतर

    अपवाद और त्रुटियां दोनों थ्रोएबल वर्ग के उपवर्ग हैं। त्रुटि एक समस्या को इंगित करती है जो मुख्य रूप से सिस्टम संसाधनों की कमी के कारण होती है और हमारे आवेदन को इस प्रकार की समस्याओं को नहीं पकड़ना चाहिए। त्रुटियों के कुछ उदाहरण सिस्टम क्रैश त्रुटि और स्मृति त्रुटि से बाहर हैं। त्रुटियां ज्यादातर रनट

  1. जावा में सीरियलाइज़ेशन और एक्सटर्नलाइज़ेशन के बीच अंतर

    सीरियलाइज़ेशन और एक्सटर्नलाइज़ेशन दोनों किसी ऑब्जेक्ट को स्ट्रीम बाइट में बदलने और डेटाबेस या मेमोरी में बाइट स्ट्रीम को स्टोर करने की प्रक्रियाएँ हैं। java.io.Serializable इंटरफ़ेस को लागू करने वाले वर्ग को क्रमबद्ध किया जा सकता है। दूसरी ओर, आवेदन में आवश्यकता के आधार पर कस्टम क्रमांकन के लिए उपयो