क्लास पैरामीटरेटेड कन्स्ट्रक्टर है, तो जावा डिफ़ॉल्ट कन्स्ट्रक्टर क्यों प्रदान नहीं करता है? निम्न उदाहरणक्लास पैरामीटरेटेड कन्स्ट्रक्टर है, तो जावा डिफ़ॉल्ट कन्स्ट्रक्टर क्यों प्रदान नहीं करता है?
class A {
int a;
public A() {
}
public A(int val) {
a = val;
}
}
पर विचार करें यहाँ मैं स्पष्ट रूप से डिफ़ॉल्ट निर्माता जोड़ने की जरूरत है। क्या कोई कारण है, क्यों जावा पैरामीट्रिज्ड कन्स्ट्रक्टर वाले वर्ग के लिए डिफॉल्ट कन्स्ट्रक्टर प्रदान नहीं करता है?
मुझे नहीं लगता कि यह एक डुप्लिकेट है; यह पूछ रहा है * क्यों * विनिर्देश कहता है कि यह क्या करता है। – OrangeDog
@ ऑरेंजडॉग यहां कठिनाई यह है कि ओपी के प्रश्न का शाब्दिक उत्तर है * "एक कंपाइलर एक डिफॉल्ट कन्स्ट्रक्टर उत्पन्न नहीं करता है जब आप स्पष्ट रूप से एक कन्स्ट्रक्टर को परिभाषित करते हैं क्योंकि डिफ़ॉल्ट कन्स्ट्रक्टर की परिभाषा है 'एक संकलक परिभाषित करता है जब आप परिभाषित नहीं करते हैं और एक'"*। (उनका 'सार्वजनिक ए() {} 'एक डिफ़ॉल्ट कन्स्ट्रक्टर नहीं है।) ओपी शायद शब्दावली को मिश्रण कर रहा था और * संभवतः * वास्तव में नो-तर्क कन्स्ट्रक्टर के बारे में पूछ रहा था। हो सकता है कि अगर हम मान लें कि ओपी शब्दावली को मिला रहा है तो सवाल संपादित किया जाना चाहिए। – Radiodef