2010-02-10 26 views
34

जावा में, एक्सेस विनिर्देश और एक्सेस संशोधक एक ही चीज़ हैं?एक्सेस विनिर्देशकों और एक्सेस संशोधक के बीच क्या अंतर है?

+5

दिलचस्प, मैं कभी वर्षों में से पहले इस विशेष प्रश्न देखा है, लेकिन आप) – BalusC

उत्तर

37

नहीं "पहुँच संशोधक", private, protected और public के लिए सरकारी शब्द है जबकि शब्द "पहुँच विनिर्देशक" बिल्कुल Java language specification में नहीं होती और AFAIK कुछ है जो व्यापक रूप से इस्तेमाल नहीं है।

"एक्सेस संशोधक" private, protected और public के लिए आधिकारिक शब्द Java language specification में उपयोग किया जाता है। "एक्सेस विनिर्देशक" का प्रयोग Java API doc में समानार्थी रूप से किया जाता है, लेकिन यह पहली बार मैंने देखा है। जेएलएस शब्द के साथ रहना शायद बेहतर है।

+2

+1 JLS के साथ साबित करने के लिए; http://www.google.com/search?q=difference+access+specifier+access+modifier: 'जाहिरा तौर पर केवल एक है जो इस बारे में सोचा नहीं कर रहे हैं। मुझे लगता है कि यह सिर्फ भाषा बाधा के बाद है। – BalusC

0

मेरे अनुसार, हाँ, दोनों शब्द एक ही बात का संदर्भ देते हैं और इन्हें एक दूसरे के लिए उपयोग किया जाता है।

+0

यह आपके ऊपर नहीं है, यह जेएलएस पर निर्भर है, और 'पहुंच विनिर्देशक' शब्द बिल्कुल दिखाई नहीं देता है। – EJP

-3

तकनीकी रूप से बोलने वाले निजी, सार्वजनिक, संरक्षित और डिफ़ॉल्ट को एक्सेस विनिर्देशक के रूप में माना जाता है। के साथ ये सौदा जो ... प्रश्न कर सकते हैं। संशोधक afaik अस्थिर, अंतिम, स्थिर, क्षणिक आदि हैं के साथ ये सौदा .. पहलू कैसे करता है।

+0

कृपया इस दावे के लिए एक जेएलएस उद्धरण प्रदान करें। यह आधारहीन है। – EJP

0

कि जेडीआई संदर्भ एकमात्र ऐसा स्थान है जहां मैंने कभी जावा विनिर्देश में उपयोग किए गए 'एक्सेस एड्रेसर' शब्द को देखा है। यहां तक ​​कि, सार्वजनिक/संरक्षित/निजी/पैकेज को 'संशोधक' भी कहा जाता है। जावा में 'पहुंच विनिर्देशक' शब्द का उपयोग करने का वास्तव में कोई कारण नहीं है, यह स्पष्ट रूप से हजारों में से एक पृष्ठ पर एक गलती है।

1

जावा संशोधक का मूल रूप से 2 प्रकार है:

  1. जावा पहुँच संशोधक
  2. जावा गैर पहुँच संशोधक

जावा पहुँच संशोधक और जावा पहुँच विनिर्देशक हैं एक ही बात है, जो public हैं , private, protected

-3

एक्सेस विनिर्देशक का उपयोग करके हम परिभाषित करते हैं कि कोई भी हमारी कक्षा/विधि और चर (या जो भी हम एक्सेस विनिर्देशक का उपयोग करते हैं) तक पहुंच सकते हैं। , केवल वर्ग के लिए भी दृश्यमान

  • संरक्षित: - -: दुनिया के लिए भी दृश्यमान
  • निजी -: मूल रूप से जावा पहुँच विनिर्देशक चार प्रकार के होते हैं -

    1. सार्वजनिक पैकेज और सभी उपवर्गों लिए दिखाई दे रहा है, और
    2. डिफ़ॉल्ट: - पैकेज

    लेकिन पहुँच संशोधक लिए दिखाई दे रहा एक वर्ग/विधि/चर की संपत्ति हैं।पाँच पहुँच संशोधक हैं प्रकार

    1. अंतिम: - कक्षाएं, विधियों में से कार्यान्वयन और वैरिएबल को अंतिम रूप देने के लिए
    2. स्थिर: - वर्ग के तरीकों और चर
    3. तुल्यकालन और अस्थिर संशोधक बनाने के लिए: - जो उपयोग किया जाता है धागे के लिए
    4. सार: - सार वर्गों और तरीकों
    5. क्षणिक बनाने के लिए
  • +2

    कृपया इस आधारहीन दावे के लिए एक संदर्भ प्रदान करें। – EJP

    +4

    किसने इसे उखाड़ फेंका? यह सादा गलत है। – gexicide

    +0

    जावा बिंदु यह देखने गलत है। आपके सभी कीवर्ड ** एक्सेस संशोधक ** के रूप में माना जाता है। यह सही अन्य प्रोग्रामिंग भाषा हो सकती है – Premraj

    0

    कुछ पुराने भाषाओं में सार्वजनिक, निजी, संरक्षित और सी ++ जावा में विनिर्देशक के लिए कोई शब्दावली है पहुँच विनिर्देशक माना जाता है और बाकी सब कुछ पहुँच संशोधक के रूप में माना जाता है, लेकिन जैसे डिफ़ॉल्ट, सब कुछ डिफ़ॉल्ट केवल आपरिवर्तक के रूप में माना जाता है। तो सार्वजनिक, निजी, संरक्षित, डिफ़ॉल्ट, अंतिम, अमूर्त, स्थैतिक, सख्त, सिंक्रनाइज़, देशी, क्षणिक और अस्थिर केवल सभी संशोधक हैं। इसके लिए

    सरल परीक्षण जब हम निम्नलिखित कोड संकलन है

    निजी वर्ग टेस्ट { }

    हम चाहते हैं कि संशोधक निजी यहाँ अनुमति नहीं कह टाइम त्रुटि संकलन मिल जाएगा। यह अन्य संशोधकों के लिए भी सच है। शायद जावा कंपाइलर (जावा) केवल सब कुछ "संशोधक" के रूप में देखता है।

    3

    शब्द शब्द निर्दिष्ट करें सी ++ प्रोग्रामर द्वारा जावा में नहीं उपयोग किया जाता है। जावा में आधिकारिक तौर पर हम एक्सेस संशोधक का उपयोग करते हैं।

    उदाहरण के लिए: इस प्रकार जब हम निजी, स्थिर संकलक के साथ एक कक्षा की घोषणा स्पष्ट रूप से त्रुटि संदेश दिखाता है:
    enter image description here