कि अच्छा आप देख रहे हैं सीशा आपके अंदर कंस्ट्रक्टर ओवरलोडिंग किसे गया है तो हमने अभी पिछले सेशन में कंस्ट्रक्टर पड़े अब हम देखते हैं कंस्ट्रक्टर ओवरलोडिंग का क्या कौन से देखो कंस्ट्रक्टर ओवरलोडिंग हम कहते हैं कि एक से ज्यादा कंस्ट्रक्टर कि हम जब बनाते हैं इसको हम कहते हैं कंस्ट्रक्टर ओवरलोडिंग और एक्जांपिल मैंने आपको बताया था कि कंस्ट्रक्टर हम किस नाम से बनाते हैं जो हमारी क्लास का नाम होता है ठीक है अब उसी क्लास के नाम से मतलब मुझे मल्टिफल कंस्ट्रक्टर बनाने हो ठीक है तो इसको हम कहते हैं कंस्ट्रक्टर ओवरलोडिंग ठीक है और एक्जांपिल यहां पर मैं एक कंस्ट्रक्टर बनाऊं ठीक है पब्लिक कंस्ट्रक्टर बनाऊं हमारी क्लास का क्या नाम है प्रोग्राम ठीक है तो अभी देखो ये कौन सा constructor है? default constructor क्योंकि इसके अंदर कोई भी argument specified नहीं है अच्छा यहाँ पे आता हूँ for example मैं इसके अंदर message print करवाता हूँ this is a first constructor ठीक है? सही है? ठीक है?
और यहाँ पे आता हूँ for example यह हमारे पास पहला constructor इसका हो गया ठीक है? अब अगर मैं इसी नाम से दूसरा कंस्ट्रक्टर बनाना चाहूं क्योंकि मैंने क्या बताया था आपका जो कंस्ट्रक्टर उसका नाम वही होगा जो प्रोग्राम जो आपकी क्लास का नाम है ठीक है अब यह मैंने एक कंस्ट्रक्टर बनाया मैं एक के इलावा भी कंस्ट्रक्टर बना सकता हूं मतलब म बिल्ड करूं खुद से तो यहां पर आप रिजल्ट देखना यहां पर देखो एरर आ रहा है एरर आ पढ़ो ऑलरेडी डिफाइंड जा मेंबर कॉल्ड प्रोग्राम ठीक है मतलब एक डिफॉल्ड कंस्ट्रक्टर है आप दूसरा डिफॉल्ड कंस्ट्रक्टर नहीं बनाया ना तो दूसरा पैरामीटर आईज हो ठीक है मतलब यह तो डिफॉल्ड कंस्ट्रक्टर है उससे आपका दूसरा कंस्ट्रक्टर थोड़ा डिफरेंट होना चाहिए क्योंकि सेम होगा तो कंपाइल टाइम एरर आएगा ठीक है तो यहाँ पर मैं फॉर एक्जांपिल यह पहला है ना यह तो ठीक है मैं और इसके अंदर दो आर्ग्यूमेंट स्पेसिफाई कर लेता हूं और इसके अंदर पर इसके अंदर यहां पर कहता हूं और यहां पर आकर यहां पर आकर फॉर एक्जांपिल प्लेस होल्डर इधर लगाता हूं जीरो और इसकी जगह पर मैं क्या करता हूं ए और बी को क्या करवा लेता हूं प्लस करवा लेता है ठीक है मतलब जब भी हमारे पास यह दूसरा कंस्ट्रक्टर चलेगा तो क्या होगा हमसे आर्ग्यूमेंट लेगा चला ठीक है अब इसी तरह पॉर एग्जांपिल मैं अगर इसको कॉपी करूं और यहां पर तीसरा कंस्ट्रक्टर बनाओ और इस दफ़ा मैं इसके अंदर दे देता हूं तीन पैरामेटर तो देखो यह भी अलाउड है क्योंकि मैंने क्या का कंस्ट्रक्टर ओवर लोडिंग में क्या होता है कि आप से नेम से मल्टिपल कंस्ट्रक्टर बना सकते हो लेकिन उनके पैरामेटर उनका सिंग्नेशन डिफरेंट होना जरूरी है ठीक है तो यहां पर मैं ए प्लस बी और यहां पर इसको कर देता हूं प्लस सी ठीक है मतलब पहला जो कंस्ट्रक्टर है वो डिफॉल्ट कंस्ट्रक्टर है जो के जस्ट मैसेज मेंट करवाएगा दूसरा कंस्ट्रक्टर क्या ले रहा है दो पैरामीटर्स ले रहा है मतलब ये भी पैरामीटराइस कंस्ट्रक्टर है मैंने क्या बताया था हमारा जो कंस्ट्रक्टर है वो कब कॉल होता है जब हम क्लास का ओब्जेक्ट बनाते हैं पर एक्जांपल P is equal to new ठीक है और यहां पर आकर अब मैं इसको फॉर एग्जांपल देखो अभी यहां पर मैंने कंस्ट्रक्टर के अंदर कुछ भी नहीं दिया ठीक है तो यहां पर यह वाला जो कंस्ट्रक्टर है वह भी किसको कॉल करेगा इस डिफॉल्ट कंस्ट्रक्टर को कॉल करेगा जिसके अंदर कोई कंस्ट्रक्टर नहीं है मतलब यह क अच्छा ठीक है यहां पर देखो जो मैंने अभी object बनाया है यहां पर ठीक है इसी program class का इसके constructor के अंदर अभी मैं कुछ भी pass नहीं कर रहा हूं तो यह आपके पास कौन सा constructor call करेगा यह जो हमने default constructor बनाया है ठीक है क्योंकि देखो यह आपके पास compile time पर decide हो रहा है ठीक है मतल अगर मैं यहाँ पर इसके अंदर दो argument देन। For example, मैं यहाँ पर count 20, 30 ठीक है, तो देखो, यहाँ पर 2 of 3 आ रहे हैं इसका मतलब पता ही क्या है, यहाँ पर देखो 2 of 3, इसका मतलब 3 constructor है और आप argument दे रहे हो, तो यहाँ पर कौन सा constructor वो चलाएगा, second वाला ठीक है, तो मतलब यहाँ पर जब मैंने 20 और 30 दिये, तो यह जाकर चेक करेगा कि कौन सा constructor कॉल करना है कि यह वाला कंस्ट्रक्टर कॉल करना है ठीक है तो अगर मैं यहां पर अगर रन करूं ठीक है तो आप रिजल्ट देखना उसी हिसाब से आपको रिजल्ट भी नजर आएगा ठीक है अच्छा यहां पर हमने फॉर एग्जांपल यहां पर कंसोल डॉट रिड लाइन नहीं लिखा इसलिए वह स्क्रीन रुकी नहीं कंसोल डॉट रिड लाइन ठीक है यहां पर आकर इसको मैं रन करता फिटी जो हमने उसके अंदर वैल्यू दी अगर मुझे यहां पर फॉर एग्जांपल तीसरा कंस्ट्रक्टर कॉल करवाना है तो मैं यहां पर बस क्या करूंगा कॉमा लगाकर देखो ऑटोमेटिकली आ गया तीसरा थ्री ऑफ थ्री मतलब इस तीसरा जो कंस्ट्रक्टर तो तीन परामेटर आर्ग्यूमेंट्स पास किए तो यह वाला थर्ड वाला कंस्ट्रक्टर चलेगा ठीक है तो इस केस में होगा क्या हमारे पास रिजल्ट क्या जाएगा तीनों का सम ठीक है अगर मैं यहां पर आओ तो रिजल्ट क्या आएगा मैंने वेल्यूज क्या दिया ट्वेंटी थर्टी और ट्वेंटी तो रिजल्ट क्या आना चाहिए मारे पास सेवनटी ठीक है अगर यहां पर आकर मैं इसको रन करूं यह आपके पास कहला दिए कंस्ट्रक्टर ओवरलोडिंग जिसके अंदर हम एक ही नाम से मल्टिपल कंस्ट्रक्टर बना सकते हैं लेकिन उनका argument या मतलब उनका signature उनके parameters difference होने चाहिए ठीक है अगर parameters different नहीं होंगे for example यह तो third यह है ना constructor अगर मैं इसको copy करूँ और इसको दुबारा नीचे यहाँ पे paste कर दूँ तो देखो अगर मैं अभी इसको build करूँगा तो आप result देखना हूं मैं यहां पर इसको बिल्ड करता हूं तो देखो दुबारा भी error आ रहा है लेकिन अगर for example मैं यहां पर एक और कि कंस्ट्रक्टर यहां पर पैरमीटर बढ़ा दूं या फिर या फिर मैं यहां पर फॉर एग्जांपिल इसको स्��्रिंग कर दूं ठीक है मतलब यहां पर मैं सबको क्या कर देता हूं स्ट्रिंग कर देता हूं ठीक है यहां पर आता हूं स्ट्रिंग कर देखो अभी भी क्या हो रहा है पैरमीटर तीनों है मतलब यह वाला आपको यह दोनों जो कंस्ट्रक्टर ही सेम लगेगी किस तरह से क्योंकि तीनों तरह कंस्ट्रक्टर के अंदर तीन पैरमीटर ठीक है लेकिन अ डिफरेंस है जो ऊपर वाला कंस्ट्रक्टर है इसके अंदर जो पेरामीटर ने वह टीजर टाइप के और जो चौथा है वह किस टाइप का है इस ट्रिंग ले रहा है ठीक है तो अगर मैं यहां पर आओ और एग्जांपल मैं इसके अंदर यहां पर अब इस ट्रिंग प्राश करूं ठीक है और एग्जांपल इसको कहूं मैं एक ठीक है और दूसरा मैं यहां पर कहूं भी और यहां पर सी ठीक है अब कौन सा यह कॉल होगा हमारे पर जो तीसरा अरे चौथा जो हमने बनाए यह कॉल होगा मतलब कंपाइल टाइम पर डिसाइड होगा जो भी हम वैल्यू देंगे ना उस हिसाब से वह कंस्ट्रक्टर को कॉल करेगा तो अगर मैं अभी आकर यहां पर इसको रन करो तो आप तो यहां पर अगर मैं इसको रन करूं तो आप result देखना ठीक है fourth constructor call हो रहा है और हमारे पास ABC जो हमने उसके argument उसके constructor के अंदर जो तीन दिये थे ना उसने उसी से पहचान लिया कि कौन सा constructor call करना ठीक है यह आपके पास concept है किसका constructor overloading का ठीक है