ऑब्जेक्ट जीवनचक्र में कंस्ट्रक्टर्स की महत्वपूर्ण भूमिका:
जावा में, जब new ऑपरेटर किसी ऑब्जेक्ट के लिए सन्निहित हीप मेमोरी आवंटित करता है, तो ऑब्जेक्ट के इंस्टेंस फ़ील्ड प्रारंभ में डिफ़ॉल्ट भाषा मान रखते हैं (उदाहरण के लिए, 0, 0.0, शून्य, गलत)। Constructor एक विशेष सदस्य ब्लॉक है जिसे प्रोग्राम में ऑब्जेक्ट संदर्भ वापस करने से पहले उन डेटा सदस्यों को सार्थक, वैध व्यावसायिक स्थितियों में प्रारंभ करने के लिए विशेष रूप से डिज़ाइन किया गया है।
तीन गैर-परक्राम्य वाक्यात्मक आविष्कार:
- सटीक नाम समानता: कंस्ट्रक्टर के पास संलग्न वर्ग के समान पहचानकर्ता होना चाहिए, जो पूंजीकरण से समान रूप से मेल खाता हो (उदाहरण के लिए,
क्लास अकाउंटमें, कंस्ट्रक्टर कोअकाउंट()होना चाहिए)। - शून्य रिटर्न प्रकार: एक कंस्ट्रक्टर का कोई रिटर्न प्रकार नहीं होता—यहां तक कि
voidभी नहीं।चेतावनी: यदि आपसार्वजनिक शून्य खाता() { ... }लिखते हैं, तो जावा कंपाइलर किसी त्रुटि की रिपोर्ट नहीं करेगा; इसके बजाय, यह इसेAccountनामक एक नियमित सदस्य विधि के रूप में संकलित करेगा और इसेnew Account()पर लागू नहीं करेगा! - स्वचालित आमंत्रण: एक कंस्ट्रक्टर को सामान्य विधि की तरह स्पष्ट रूप से नहीं कहा जा सकता है (उदाहरण के लिए,
obj.Account();अमान्य सिंटैक्स है)। यहnewऑपरेटर के निष्पादन के दौरान स्वचालित रूप से लागू होता है।