जावा डिज़ाइन किया गया है तो आप कर सकते हैं कभी नहीं "चाल" यह जब तक आप java.lang/जावा का उपयोग करें। कक्षाएं या अन्य मानक पुस्तकालयों। ओओपी की सबसे महत्वपूर्ण चीजों में से एक यह है कि वस्तुओं को परिभाषित राज्य में होना चाहिए, इस प्रकार आप सुरक्षित रह सकते हैं कि निर्माता हमेशा चल रहा है। भले ही आप अपना काम पूरा करने के लिए कुछ अजीब दिखने वाले प्रतिबिंब पुस्तकालयों का उपयोग कर रहे हों। ।
तो, Class.forName ("me.Test") का उपयोग newInstance(); (या समान) अंडर-द-हूड आपके लिए टेस्ट() कन्स्ट्रक्टर का आह्वान करेगा।
यदि आप किसी अन्य निर्माता आह्वान करने के लिए चाहते हैं, तो कोड की तरह कुछ है:
Test test = (Test)Class.forName("Test").getConstructor(String.class).newInstance("Hello World");
यहाँ getConstructor क्या निर्माता लगता है कि (यह एक स्ट्रिंग चाहता है) और फिर आप इसे एक तार के साथ फोन पूछता है।
वह कक्षा के नए उदाहरण को तुरंत चालू करने के बारे में पूछ रहा है, क्लास ऑब्जेक्ट नहीं बना रहा है (न ही बाइट कोड कैसे प्राप्त करें)। इसे सही उत्तर के रूप में चिह्नित नहीं किया जाना चाहिए। नीचे एंड्री के जवाब को पढ़ते रहें। –
@RyanShillington यह मूल प्रश्न का उत्तर देता है। प्रश्न को एक अलग प्रश्न के रूप में संपादित किया गया था जिसे 'एंड्री' ने उत्तर दिया था। –
आह, मैं देखता हूं। मेरी गलती। –