2011-04-24 22 views
5

मुझे आश्चर्य है कि जावा 'दोस्त' (सी ++ में) एक्सेस संशोधक प्रदान करता है या नहीं? किसी ने कहा कि हम जावा में डिफॉल्ट संशोधक के रूप में 'दोस्त' को चल सकते हैं। क्या यह सच है?क्या जावा 'मित्र' पहुंच संशोधक प्रदान करता है?

उत्तर

8

जावा में डिफ़ॉल्ट एक्सेस संशोधक सदस्यों को उसी पैकेज में किसी भी कोड द्वारा एक्सेस करने की अनुमति देता है।

3

जावा में एक दोस्ताना संशोधक नहीं है। जावा में इसे पैकेज निजी कहा जाता है। और यह डिफ़ॉल्ट संशोधक है। यह उसी पैकेज के सदस्यों को इसका उपयोग करने की अनुमति देता है।

5

ऐसी कोई कीवर्ड (जावा में) के रूप में नामित नहीं है - "। दोस्ताना '

' दोस्ताना '

डिफ़ॉल्ट पहुँच संशोधक कोई कीवर्ड है, लेकिन यह आम तौर पर कहा जाता है इसका मतलब है कि वर्तमान पैकेज में मौजूद सभी अन्य वर्गों के पास दोस्ताना सदस्य तक पहुंच है, लेकिन इस पैकेज के बाहर के सभी वर्गों के लिए सदस्य निजी प्रतीत होता है। एक संकलन इकाई के बाद से - एक फ़ाइल - केवल एक ही पैकेज से संबंधित हो सकती है, एक ही संकलन इकाई के भीतर सभी कक्षाएं एक-दूसरे के साथ स्वचालित रूप से अनुकूल होती हैं। इस प्रकार, दोस्ताना तत्वों को पैकेज पहुंच भी कहा जाता है। दोस्ताना पहुंच आपको एक पैकेज में संबंधित कक्षाओं को एक साथ समूह करने की अनुमति देती है ताकि वे आसानी से एक दूसरे के साथ बातचीत कर सकें। जब आप एक पैकेज में कक्षाओं को एक साथ रखते हैं (इस प्रकार अपने दोस्ताना सदस्यों को आपसी पहुंच प्रदान करते हैं, उदाहरण के लिए उन्हें "दोस्त" बनाना) आप उस पैकेज में कोड "स्वयं" रखते हैं। यह समझ में आता है कि आपके पास जो कोड है, उसके पास आपके पास मौजूद अन्य कोड के लिए अनुकूल पहुंच होनी चाहिए। आप कह सकते हैं कि दोस्ताना पहुंच एक पैकेज में कक्षाओं को समूहबद्ध करने का अर्थ या कारण देता है। कई भाषाओं में आप फाइलों में अपनी परिभाषाओं को व्यवस्थित करने के तरीके को बहुत कम कर सकते हैं, लेकिन जावा में आपको उन्हें एक समझदार फैशन में व्यवस्थित करने के लिए मजबूर किया जाता है। इसके अतिरिक्त, आप शायद उन वर्गों को बहिष्कृत करना चाहते हैं जिनके पास मौजूदा पैकेज में परिभाषित कक्षाओं तक पहुंच नहीं होनी चाहिए।

3

जैसा कि अन्य ने कहा है, कोई मित्र पहुंच नहीं है, लेकिन पैकेज आधारित पहुंच उपलब्ध है।

हालांकि ओएसजीआई, और (उम्मीद है कि) आने वाले सुपर पैकेज इस वर्ग को कक्षाओं के कुछ उच्च लीवर समूह में कक्षाओं में विस्तारित करने का प्रयास करते हैं।

संबंधित मुद्दे