The super keyword In Hindi

The super keyword In Hindi

जावा प्रोग्रामिंग लैंग्वेज में सुपर कीवर्ड एक यूजर डिफाइन डिक्लेअर क्लास रेफरेंस वेरिएबल होता है, जावा क्लास में सुपर कीवर्ड किसी मौजूदा क्लास ऑब्जेक्ट के इमीडियेट पैरेंट क्लास बिहैवियर को इंडीकेट करने में किया जाता है। सुपर कीवर्ड रुट क्लास में डिक्लेअर क्लास के डाटा टाइप मेथड रेफ़्रेन्स को इनहेरिट करने में हेल्प करता है.

The super keyword In Hindi

The super keyword is commonly used in Java in three ways.

  • Accessing a parent class constructor.
  • Accessing a parent class method.
  • Accessing a parent class field.

Using super to access the parent class constructor in Java.

जावा क्लास प्रोग्राम मे कोई सबक्लास किसी सुपरक्लास मेथड या प्रॉपर्टीज से इनहेरिट होता है, तो इस प्रोसेस में यूज़ सबक्लास super() क्लास कीवर्ड को अप्लाई करके इसके पैरेंट क्लास के डिक्लेअर डिफाइन कंस्ट्रक्टर रेफ़्रेन्स को एक्सेस कर सकता है। यदि यहाँ रुट या पैरेंट क्लास में पैरामीटराइज्ड कंस्ट्रक्टर डिक्लेअर या डिफाइन है. तो रुट क्लास में डिक्लेअर सबक्लास को सुपर() कीवर्ड को अप्लाई करके प्रॉपर क्लास पैरामीटर आर्गुमेंट के साथ पैरेंट कंस्ट्रक्टर को डायरेक्ट कॉल कर सकते है।

Example of using super to access the parent class constructor.

class Course {

    String course_name;

    // here we declare define a Parent course class constructor

    public Course(String course_name) {

        this.course_name = course_name;

        System.out.println(“here Course class constructor called”);

    }

    public void select_course() {

        System.out.println(course_name + ” you can select desire course”);

    }

}

class Java extends Course {

    // here we create java Subclass with super keyword constructor

    public Java(String course_name) {

        super(course_name);  // here it Calling the parent course class constructor

        System.out.println(“Java constructor called”);

    }

    @Override

    public void select_course() {

        System.out.println(course_name + ” Java programming selected”);

    }

}

public class Main {

    public static void main(String[] args) {

        Java java = new Java(“Siddhi,”);

        java.select_course();

    }

}

Explanation of using super to access the parent class constructor.

  • यहाँ Course क्लास में एक कंस्ट्रक्टर डिफाइन किया गया है, जो कोर्स क्लास में course_name फ़ील्ड वैल्यू को इनिशियलाइज़ करता है।
  • रुट क्लास में डिफाइन Java सबक्लास, course_name फ़ील्ड को इनिशियलाइज़ करने के लिए super(course_name) को यूज़ करके Course क्लास के कंस्ट्रक्टर को कॉल करता है।
  • यहाँ सुपर कीवर्ड में super(course_name) मेथड इम्पोर्टेन्ट है, क्योंकि यहाँ Course क्लास में नो-आर्गुमेंट कंस्ट्रक्टर डिफाइन नहीं होता है। यहाँ एक पैरामीटराइज़्ड कंस्ट्रक्टर डिफाइन होता है, इस वजह से यहाँ हमें इसे क्लियर डायरेक्ट कॉल करना होगा। फिर Java क्लास, select_course() मेथड को यह ओवरराइड कर देता है।

Use the super keyword to access a parent class method in Java.

जावा रुट या मैन क्लास में super कीवर्ड का यूज़ पैरेंट क्लास के मेथड को कॉल करने में किया जाता है. स्पेशली, यदि यूजर डिफाइन मेथड सबक्लास में इसे ओवरराइड किया गया हो और जावा यूजर मेथड का सुपरक्लास वर्जन को इनवोक करना चाहते हों।

Example of the super keyword to access a parent class method.

class Course {

    public void select_course() {

        System.out.println(“Select your Course”);

    }

}

class Java extends Course {

    @Override

    public void select_course() {

        super.select_course();  // Calling the select_course() method of the parent class (Course)

        System.out.println(“Java language selected”);

    }

}

public class Main {

    public static void main(String[] args) {

        Java java = new Java();

        java.select_course();

    }

}

Explanation of the super keyword to access a parent class method.

  • यहाँ Java सबक्लास, select_course() मेथड को ओवरराइड कर देती है। Java सबक्लास में ओवरराइड किए गए मेथड के अंदर, super.select_course() फंक्शन का यूज़ Course क्लास से select_course() मेथड को कॉल करने में किया जाता है।
  • यहाँ हम जरूरत के अनुसार Java सबक्लास में नई फंक्शनैलिटी को ऐड करते हुए सुपरक्लास मेथड के बिहेवियर को मेन्टेन रखते हैं।

Using super to access parent class fields in Java.

यदि Java सबक्लास में किसी फील्ड का नाम पैरेंट क्लास के फील्ड जैसा ही डिफाइन या डिक्लेअर किया गया है, तो मौजूदा प्रोग्राम में रुट क्लास में वेरिएबल हाइड करने के लिए,  super कीवर्ड को अप्लाई करके पैरेंट क्लास से क्लास पैरामीटर फील्ड को एक्सेस करने में किया जा सकता है।

Example of super to access parent class fields.

class Course {

    String course_name = “Course”;

    public void course_info() {

        System.out.println(“This is a course info”);

    }

}

class Java extends Course {

    String course_name = “Java”;

    public void course_info() {

        super.course_info();  // here it Calling the parent’s course_info method

        System.out.println(“This is a java language”);

        System.out.println(“Parent class course_name is – ” + super.course_name);  // here it Accessing parent’s field using ‘super’ keyword

        System.out.println(“Current class course_name is – ” + course_name);  // here it Accessing current class’s field

    }

}

public class Main {

    public static void main(String[] args) {

        Java java = new Java();

        java.course_info();

    }

}

Explaining how to access parent class fields.

  • यहाँ इस एक्साम्प्ल में, Course class और Java class दोनों में course_name नाम का फ़ील्ड डिफाइन है।
  • यहाँ Java class में, हम Course class में course_name फ़ील्ड को रेफर करने के लिए super.name को यूज़ करते हैं।
  • हम Java class के course_name फ़ील्ड को रेफर करने के लिए सीधे course_name वेरिएबल को भी यूज़ करते हैं।

Leave a Reply