मुझे लगता है कि जावा प्रतिबिंब एपीआई में वहाँ कंस्ट्रक्टर्स लागू करने के लिए दो अलग अलग तरीके हैं नोटिस। हालांकि जावा दस्तावेज़ थोड़ा अलग हैं (getDeclaredConstructors
का अर्थ यह है कि यह सार्वजनिक निर्माताओं की बजाय सभी रचनाकारों को देता है), यह स्पष्ट नहीं है कि एपीआई इन दो अलग-अलग तरीकों का स्पष्ट रूप से समर्थन क्यों करती है।क्लास एपीआई में GetDeclaredConstructors और getConstructors के बीच क्या अंतर है? <code>getDeclaredConstructors</code>/<code>getConstructors</code> विधि:
इससे भी महत्वपूर्ण बात, मैं सोच रहा हूँ: जब एक विधि अगर हम कक्षाएं गतिशील लागू कर रहे हैं एक और के लिए बेहतर होगा? उदाहरण के लिए, निजी कन्स्ट्रक्टर तक पहुंचने का उद्देश्य क्या है?
और creator.setAccessible (true) का उपयोग करके, आप व्यक्तिगत रूप से रचनाकारों को प्रतिबिंबित कर सकते हैं। – MeBigFatGuy
हालांकि यह उत्तर सही है, वहां थोड़ी सी चेतावनी है। संकलक स्वचालित रूप से किसी भी वर्ग के लिए एक डिफ़ॉल्ट (नो-तर्क) सार्वजनिक कन्स्ट्रक्टर प्रदान करता है जो स्पष्ट रूप से किसी भी निर्माता को परिभाषित नहीं करता है। 'getConstructors' इस डिफ़ॉल्ट कन्स्ट्रक्टर को वापस नहीं करेगा, लेकिन 'getDeclaredConstructors' करता है। – neXus