जावा में, एक्सेस विनिर्देश और एक्सेस संशोधक एक ही चीज़ हैं?एक्सेस विनिर्देशकों और एक्सेस संशोधक के बीच क्या अंतर है?
उत्तर
नहीं "पहुँच संशोधक", private
, protected
और public
के लिए सरकारी शब्द है जबकि शब्द "पहुँच विनिर्देशक" बिल्कुल Java language specification में नहीं होती और AFAIK कुछ है जो व्यापक रूप से इस्तेमाल नहीं है।
"एक्सेस संशोधक" private
, protected
और public
के लिए आधिकारिक शब्द Java language specification में उपयोग किया जाता है। "एक्सेस विनिर्देशक" का प्रयोग Java API doc में समानार्थी रूप से किया जाता है, लेकिन यह पहली बार मैंने देखा है। जेएलएस शब्द के साथ रहना शायद बेहतर है।
+1 JLS के साथ साबित करने के लिए; http://www.google.com/search?q=difference+access+specifier+access+modifier: 'जाहिरा तौर पर केवल एक है जो इस बारे में सोचा नहीं कर रहे हैं। मुझे लगता है कि यह सिर्फ भाषा बाधा के बाद है। – BalusC
मेरे अनुसार, हाँ, दोनों शब्द एक ही बात का संदर्भ देते हैं और इन्हें एक दूसरे के लिए उपयोग किया जाता है।
यह आपके ऊपर नहीं है, यह जेएलएस पर निर्भर है, और 'पहुंच विनिर्देशक' शब्द बिल्कुल दिखाई नहीं देता है। – EJP
तकनीकी रूप से बोलने वाले निजी, सार्वजनिक, संरक्षित और डिफ़ॉल्ट को एक्सेस विनिर्देशक के रूप में माना जाता है। के साथ ये सौदा जो ... प्रश्न कर सकते हैं। संशोधक afaik अस्थिर, अंतिम, स्थिर, क्षणिक आदि हैं के साथ ये सौदा .. पहलू कैसे करता है।
कृपया इस दावे के लिए एक जेएलएस उद्धरण प्रदान करें। यह आधारहीन है। – EJP
सन जावा डॉक्स का जिक्र करते हुए वे दोनों एक ही होने लगते हैं:
Access Modifier
access specifier
on this page के लिए खोजें।
कि जेडीआई संदर्भ एकमात्र ऐसा स्थान है जहां मैंने कभी जावा विनिर्देश में उपयोग किए गए 'एक्सेस एड्रेसर' शब्द को देखा है। यहां तक कि, सार्वजनिक/संरक्षित/निजी/पैकेज को 'संशोधक' भी कहा जाता है। जावा में 'पहुंच विनिर्देशक' शब्द का उपयोग करने का वास्तव में कोई कारण नहीं है, यह स्पष्ट रूप से हजारों में से एक पृष्ठ पर एक गलती है।
जावा संशोधक का मूल रूप से 2 प्रकार है:
- जावा पहुँच संशोधक
- जावा गैर पहुँच संशोधक
जावा पहुँच संशोधक और जावा पहुँच विनिर्देशक हैं एक ही बात है, जो public
हैं , private
, protected
।
एक्सेस विनिर्देशक का उपयोग करके हम परिभाषित करते हैं कि कोई भी हमारी कक्षा/विधि और चर (या जो भी हम एक्सेस विनिर्देशक का उपयोग करते हैं) तक पहुंच सकते हैं। , केवल वर्ग के लिए भी दृश्यमान
- सार्वजनिक पैकेज और सभी उपवर्गों लिए दिखाई दे रहा है, और
- डिफ़ॉल्ट: - पैकेज
लेकिन पहुँच संशोधक लिए दिखाई दे रहा एक वर्ग/विधि/चर की संपत्ति हैं।पाँच पहुँच संशोधक हैं प्रकार
- अंतिम: - कक्षाएं, विधियों में से कार्यान्वयन और वैरिएबल को अंतिम रूप देने के लिए
- स्थिर: - वर्ग के तरीकों और चर
- तुल्यकालन और अस्थिर संशोधक बनाने के लिए: - जो उपयोग किया जाता है धागे के लिए
- सार: - सार वर्गों और तरीकों
- क्षणिक बनाने के लिए
कुछ पुराने भाषाओं में सार्वजनिक, निजी, संरक्षित और सी ++ जावा में विनिर्देशक के लिए कोई शब्दावली है पहुँच विनिर्देशक माना जाता है और बाकी सब कुछ पहुँच संशोधक के रूप में माना जाता है, लेकिन जैसे डिफ़ॉल्ट, सब कुछ डिफ़ॉल्ट केवल आपरिवर्तक के रूप में माना जाता है। तो सार्वजनिक, निजी, संरक्षित, डिफ़ॉल्ट, अंतिम, अमूर्त, स्थैतिक, सख्त, सिंक्रनाइज़, देशी, क्षणिक और अस्थिर केवल सभी संशोधक हैं। इसके लिए
सरल परीक्षण जब हम निम्नलिखित कोड संकलन है
निजी वर्ग टेस्ट { }
हम चाहते हैं कि संशोधक निजी यहाँ अनुमति नहीं कह टाइम त्रुटि संकलन मिल जाएगा। यह अन्य संशोधकों के लिए भी सच है। शायद जावा कंपाइलर (जावा) केवल सब कुछ "संशोधक" के रूप में देखता है।
दिलचस्प, मैं कभी वर्षों में से पहले इस विशेष प्रश्न देखा है, लेकिन आप) – BalusC