मैं सोच रहा था क्योंकि यहां तक कि आंतरिक वर्ग भी सार्वजनिक है क्योंकि यह घोंसला के रूप में क्यों है और अलग वर्ग नहीं है?
वास्तव में यह पूछना एक बात है कि जिसने कक्षा लिखी है। यह बाहरी वर्ग को "मिनी-नेमस्पेस" के रूप में कार्य करने की अनुमति दे सकता है - यदि नेस्टेड क्लास केवल बाहरी वर्ग के संदर्भ में उपयोगी है, तो यह उचित लगता है। यह दो वर्गों के बीच जानबूझकर तंग युग्मन को इंगित करता है।मैं सबसे अधिक बार बिल्डर पैटर्न के संदर्भ में यह देखें:
Foo foo = new Foo.Builder().setBar(10).build();
यहाँ यह मेरे लिए समझ में आता है Foo.Builder
Foo
भीतर के बजाय एक सहकर्मी वर्ग जो संभवतः FooBuilder
ही कहा जाता है के रूप में नेस्ट है।
ध्यान दें कि यह केवल असंबंधित वर्गों की तुलना में कुछ दृश्यता अंतर भी देता है।
इसके अलावा, क्या मैं इसे यहां कर सकता हूं: new A.B(SomeObject)
?
नहीं, क्योंकि B
एक SomeObject
पैरामीटर के साथ एक निर्माता नहीं है - केवल A
करता है (उदाहरण में आपके द्वारा दिए गए)।
मैं यह एक स्थिर वर्ग के उद्देश्य धरा
आप बाहर काम करने के बिल्कुल आप क्या समझे होने के लिए एक स्थिर वर्ग के उद्देश्य के लिए प्रयास करना चाहिए, और क्या तरीके से इस धरा है कि लग रहा है उद्देश्य। वर्तमान में यह यथार्थवादी चर्चा के लिए एक बयान बहुत अस्पष्ट है।
स्रोत
2012-08-22 17:01:38
अच्छा स्पष्टीकरण जॉन .. मुझसे +1 .. – pratikabu