जावाडोक का उल्लेख है कि ऑब्जेक्ट क्लास में सार्वजनिक नो-एर्ग कन्स्ट्रक्टर है। लेकिन ऑब्जेक्ट के स्रोत कोड में इसमें कोई स्पष्ट कन्स्ट्रक्टर नहीं है। तो जाहिर है कि संकलक ने इसके लिए एक उत्पन्न किया है। हालांकि, अगर कोई कन्स्ट्रक्टर वापस लौटने वाला है (जैसा कि नीचे दिखाया गया है) कॉल कॉल स्टैक ट्रेस देखता है, तो मुझे उस निशान में Object.<init>
पर कोई कॉल दिखाई नहीं दे रहा है।जावा: ऑब्जेक्ट क्लास में एक कन्स्ट्रक्टर है?
तो सवाल यह है कि ऑब्जेक्ट क्लास में डिफॉल्ट कन्स्ट्रक्टर होता है क्योंकि डॉक्टर कहते हैं? यदि हां, तो मैं इसे कॉल स्टैक ट्रेस में क्यों नहीं देख सकता?
public ConTest()
{
new Throwable().printStackTrace();
}
परिणाम:
java.lang.Throwable
at ConTest.<init>(ConTest.java:8)
at ConTest.main(ConTest.java:16)
http://docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html से हम्म सभी वर्गों कम से कम एक निर्माता है। यदि कोई वर्ग स्पष्ट रूप से किसी को घोषित नहीं करता है, तो जावा कंपाइलर स्वचालित रूप से नो-तर्क कन्स्ट्रक्टर प्रदान करता है, जिसे डिफ़ॉल्ट कन्स्ट्रक्टर कहा जाता है। यदि कक्षा में कोई अन्य माता-पिता नहीं है तो यह ऑब्जेक्ट कन्स्ट्रक्टर को डिफ़ॉल्ट करता है। – MimiEAM
क्या एक से अधिक उत्तरों को स्वीकार करना संभव है? क्योंकि मैं नीचे दिए गए सभी 4 उत्तरों को स्वीकार करना चाहता हूं। – shrini1000