निम्नलिखित स्थानीय और वैश्विक चर दोनों के लिए समान है। मूल रूप से, जब भी आप एक वेरिएबल घोषित करते हैं, तो कंपाइलर इसके डिफॉल्ट कंस्ट्रक्टर को कॉल करेगा जब तक कि आप अन्यथा निर्दिष्ट न करें।
भाषा स्तर के प्रकार (जैसे पॉइंटर्स, 'इंट', 'फ्लोट', 'बूल', आदि) "डिफॉल्ट कंस्ट्रक्टर" बिल्कुल कुछ नहीं करता है, यह सिर्फ मेमोरी को छोड़ देता है जैसा कि घोषित किया जाता है। इसका मतलब यह है कि वे काफी कुछ भी हो सकते हैं क्योंकि आप आमतौर पर यह सुनिश्चित नहीं कर सकते कि उस स्मृति में पहले क्या था या स्मृति कहां से आई थी।
यदि आप एक ऐसा वर्ग बनाते हैं जिसमें कोई कंस्ट्रक्टर नहीं है, तो कंपाइलर आपके लिए एक बनाएगा जो कि इसके प्रत्येक सदस्य/चर के कंस्ट्रक्टर को सरलता से कॉल करता है। यदि आपके पास तर्कों के साथ एक कंस्ट्रक्टर है, और बिना तर्क के कोई कंस्ट्रक्टर नहीं है, तो कंपाइलर एक त्रुटि देगा कि एक मेल कंस्ट्रक्टर नहीं मिला।