डिफ़ॉल्ट कंस्ट्रक्टर
- डिफ़ॉल्ट कंस्ट्रक्टर 0 तर्क कंस्ट्रक्टर . है जिसमें सुपर क्लास कंस्ट्रक्टर को बिना तर्क वाली कॉल शामिल है।
- नए बनाए गए ऑब्जेक्ट को डिफ़ॉल्ट मान असाइन करना डिफ़ॉल्ट कंस्ट्रक्टर की मुख्य ज़िम्मेदारी है।
- कंपाइलर कोड में डिफॉल्ट कंस्ट्रक्टर तभी लिखता है जब प्रोग्राम क्लास में कोई कंस्ट्रक्टर नहीं लिखता है।
- डिफ़ॉल्ट कंस्ट्रक्टर का एक्सेस संशोधक हमेशा एक वर्ग संशोधक के समान होता है लेकिन यह नियम केवल “सार्वजनिक” के लिए लागू होता है और “डिफ़ॉल्ट” संशोधक।
कंपाइलर डिफॉल्ट कंस्ट्रक्टर कब जोड़ेगा
- कंपाइलर एक डिफॉल्ट कंस्ट्रक्टर को कोड में तभी जोड़ता है जब प्रोग्रामर कोड में कोई कंस्ट्रक्टर नहीं लिखता।
- यदि प्रोग्रामर कोड में कोई कंस्ट्रक्टर लिखता है, तो कंपाइलर कोई कंस्ट्रक्टर नहीं जोड़ता है।
- हर डिफ़ॉल्ट कंस्ट्रक्टर एक 0 तर्क कंस्ट्रक्टर है लेकिन हर 0 तर्क कंस्ट्रक्टर डिफ़ॉल्ट कंस्ट्रक्टर नहीं है।
पैरामीटरेटेड कंस्ट्रक्टर्स
- पैरामीटरयुक्त कंस्ट्रक्टर वे कंस्ट्रक्टर होते हैं जिनके पास विशिष्ट संख्या में तर्क . होते हैं पारित किया जाना है।
- पैरामीटरयुक्त कंस्ट्रक्टर का उद्देश्य विभिन्न वस्तुओं के आवृत्ति चर के लिए उपयोगकर्ता-वांछित विशिष्ट मान निर्दिष्ट करना है।
- पैरामीटरयुक्त कंस्ट्रक्टर प्रोग्रामर द्वारा स्पष्ट रूप से लिखा जाता है।
- डिफ़ॉल्ट कंस्ट्रक्टर का एक्सेस मॉडिफायर हमेशा क्लास मॉडिफायर के समान होता है लेकिन यह नियम केवल “सार्वजनिक” के लिए लागू होता है और “डिफ़ॉल्ट” संशोधक।
उदाहरण
public class Student { int roll_no; String stu_name; Student(int i, String n) { // Parameterized constructor roll_no = i; stu_name = n; } void display() { System.out.println(roll_no+" "+stu_name); } public static void main(String args[]) { Student s1 = new Student(1,"Adithya"); Student s2 = new Student(2,"Jai"); s1.display(); s2.display(); } }
उपरोक्त कार्यक्रम में, प्रोग्रामर 2 मापदंडों के साथ एक पैरामीटरयुक्त कंस्ट्रक्टर को परिभाषित करता है। अब कंपाइलर कोड में कोई डिफ़ॉल्ट कंस्ट्रक्टर नहीं जोड़ता है, और न ही प्रोग्रामर ने कोई 0 तर्क कंस्ट्रक्टर लिखा है।
आउटपुट
1 Adithya 2 Jai