जावा - कंस्ट्रक्टर्स

एक निर्माणकर्ता एक ऑब्जेक्ट को तब बनाता है जब इसे बनाया जाता है। इसका वर्ग के समान नाम है और यह एक विधि के समान ही है। हालांकि, बिल्डरों के पास कोई स्पष्ट रिटर्न प्रकार नहीं है।

आमतौर पर, आप क्लास द्वारा परिभाषित उदाहरण चर के लिए प्रारंभिक मान देने के लिए या पूरी तरह से बनाई गई वस्तु बनाने के लिए आवश्यक किसी अन्य स्टार्ट-अप प्रक्रिया को करने के लिए एक निर्माणकर्ता का उपयोग करेंगे।

सभी वर्गों में कंस्ट्रक्टर होते हैं, चाहे आप एक को परिभाषित करें या न करें, क्योंकि जावा स्वचालित रूप से एक डिफ़ॉल्ट कंस्ट्रक्टर प्रदान करता है जो सभी सदस्य चर को शून्य पर आरंभीकृत करता है। हालाँकि, एक बार जब आप अपने स्वयं के कंस्ट्रक्टर को परिभाषित करते हैं, तो डिफॉल्ट कंस्ट्रक्टर का उपयोग नहीं किया जाता है।

वाक्य - विन्यास

निर्माणकर्ता का सिंटैक्स निम्नलिखित है -

class ClassName {
   ClassName() {
   }
}

जावा दो प्रकार के निर्माणकर्ताओं को अनुमति देता है -

  • कोई तर्क नहीं
  • पैरामीटरी कंस्ट्रक्टर्स

कोई तर्क नहीं

जैसा कि नाम निर्दिष्ट करता है कि जावा का कोई भी तर्क निर्माणकर्ता इसके बजाय किसी भी पैरामीटर को स्वीकार नहीं करता है, इन रचनाकारों का उपयोग करते हुए एक विधि के उदाहरण चर को सभी वस्तुओं के लिए निश्चित मानों के साथ आरंभ किया जाएगा।

उदाहरण

Public class MyClass {
   Int num;
   MyClass() {
      num = 100;
   }
}

आप कंस्ट्रक्टर को ऑब्जेक्ट्स को इनिशियलाइज़ करने के लिए निम्नानुसार कहेंगे

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.num + " " + t2.num);
   }
}

यह निम्नलिखित परिणाम का उत्पादन करेगा

100 100

पैरामीटरी कंस्ट्रक्टर्स

सबसे अधिक बार, आपको एक निर्माता की आवश्यकता होगी जो एक या अधिक मापदंडों को स्वीकार करता है। पैरामीटर को एक कंस्ट्रक्टर में उसी तरह से जोड़ा जाता है जिस तरह से उन्हें एक विधि में जोड़ा जाता है, बस कंस्ट्रक्टर के नाम के बाद उन्हें कोष्ठक के अंदर घोषित करें।

उदाहरण

यहाँ एक सरल उदाहरण है जो एक निर्माता का उपयोग करता है -

// A simple constructor.
class MyClass {
   int x;
   
   // Following is the constructor
   MyClass(int i ) {
      x = i;
   }
}

आप कंस्ट्रक्टर को ऑब्जेक्ट को इनिशियलाइज़ करने के लिए इस प्रकार कहेंगे -

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass( 10 );
      MyClass t2 = new MyClass( 20 );
      System.out.println(t1.x + " " + t2.x);
   }
}

यह निम्नलिखित परिणाम का उत्पादन करेगा -

10 20