हाल ही में, मुझे एक आंतरिक कक्षा का उदाहरण बनाने के लिए जावा के <instance>.new निर्माण का उपयोग करने का अवसर मिला।क्या जावा का डॉट नया कोड गंध बनाता है?
जबकि मुझे लगता है कि ऐसा करने के लिए उचित औचित्य था, इसके बजाय अस्पष्ट वाक्यविन्यास ऐसा लगता है कि यह रखरखाव प्रोग्रामर के लिए चीजों को समझना थोड़ा मुश्किल हो सकता है।
लेकिन मुझे आश्चर्य है कि < उदाहरण > की आवश्यकता है। नया संकेतक है कि आंतरिक कक्षा को अपने माता-पिता के पैकेज में शीर्ष-स्तरीय कक्षा बनाने के लिए थोड़ा सा रिफैक्टरिंग करना बेहतर होगा, इसे एक निर्माता बनाएं इसका मूल प्रकार का संदर्भ लेता है और अधिक आदर्श होगा और अभिभावक प्रकार से एक्सेस किए जाने वाले फ़ील्ड में एक्सेसर विधियों या पैकेज-स्तरीय एक्सेस संशोधक जोड़ देगा।
क्या < उदाहरण > के लिए कोई उपयोग केस हैं। नया जो आंतरिक वर्ग को बाहरी वर्ग में पुन: सक्रिय करके नियंत्रित नहीं किया जा सकता है?
यह मेरा उपयोग मामला हो सकता है, लेकिन ऐसा लगता है कि अपने माता-पिता के बाहर एक भीतरी कक्षा को तुरंत चालू करने की आवश्यकता इंगित करती है कि encapsulation का स्तर उचित नहीं हो सकता है। यह निर्धारित करने के लिए मुझे क्या देखना चाहिए कि encapsulation उचित है या नहीं? – Kylos
विचार करें कि आंतरिक वर्ग बाहरी वर्ग में "आंतरिक" है या नहीं। इस बात पर विचार करें कि आंतरिक वर्ग का अर्थ बाहरी वर्ग के उदाहरण से स्वतंत्र रूप से उपयोग किया जा सकता है या नहीं। –
असल में, मुझे आश्चर्य है कि इसकी कक्षा के बाहर एक भीतरी कक्षा का उपयोग करने की आवश्यकता इंगित करती है कि एक आंतरिक वर्ग उपयुक्त encapsulation नहीं हो सकता है। – Kylos