थिलो ने आपके पहले प्रश्न "यह कैसे संभव है?" के लिए एक अच्छा उत्तर जोड़ा । मैं दूसरे पूछे गए प्रश्न पर थोड़ा विस्तार करना चाहता हूं: इस व्यवहार की अनुमति क्यों है?
शुरुआत के लिए, आइए हम पूरी तरह से स्पष्ट हो जाएं कि यह व्यवहार केवल आंतरिक वर्गों तक सीमित नहीं है, जो परिभाषा के अनुसार गैर-स्थिर नेस्टेड प्रकार हैं। नेस्टेड एनम और इंटरफेस सहित सभी नेस्टेड प्रकारों के लिए इस व्यवहार की अनुमति है, जो स्थिर होना चाहिए और एक संलग्न उदाहरण नहीं हो सकता है। मूल रूप से, मॉडल निम्नलिखित कथन के लिए एक सरलीकरण है: नेस्टेड कोड को संलग्न कोड - और इसके विपरीत तक पूर्ण पहुंच है।
तो, फिर क्यों? मुझे लगता है कि एक उदाहरण बिंदु को बेहतर बताता है।
अपने शरीर और अपने मस्तिष्क के बारे में सोचो। यदि आप हेरोइन को अपनी बांह में इंजेक्ट करते हैं, तो आपका मस्तिष्क ऊंचा हो जाता है। यदि आपके मस्तिष्क का एमिग्डाला क्षेत्र यह देखता है कि वह क्या मानता है कि आपकी व्यक्तिगत सुरक्षा के लिए खतरा है, उदाहरण के लिए ततैया कहें, तो वह आपके शरीर को दूसरी तरह घुमाएगी और आपके बिना दो बार "सोच" के बिना पहाड़ियों के लिए दौड़ेंगी।
तो, मस्तिष्क शरीर का एक आंतरिक हिस्सा है - और अजीब तरह से, दूसरे तरीके से भी। ऐसी निकटता से संबंधित संस्थाओं के बीच अभिगम नियंत्रण का उपयोग करना उनके संबंधों के दावे को रोक देता है। यदि आपको एक्सेस कंट्रोल की आवश्यकता है, तो आपको कक्षाओं को वास्तव में अलग-अलग इकाइयों में अलग करने की आवश्यकता है। तब तक, वे एक ही इकाई हैं। आगे के अध्ययन के लिए एक ड्राइविंग उदाहरण यह देखना होगा कि एक जावा Iterator
आमतौर पर कैसे लागू किया जाता है।
एनक्लोजिंग कोड से नेस्टेड कोड तक असीमित पहुंच, इसे अधिकांश भाग के लिए बनाता है, बल्कि खेतों और एक नेस्टेड प्रकार के तरीकों में एक्सेस संशोधक जोड़ने के लिए बेकार है। ऐसा करने से अव्यवस्था बढ़ रही है और जावा प्रोग्रामिंग भाषा के नए कामर्स के लिए सुरक्षा की झूठी भावना प्रदान कर सकती है।