2012-05-02 15 views
5

को देखते हुए:जावा वैश्विक नामस्थान निम्नलिखित कार्यक्रम पहुँच

class A { 
    static int java = 42; 
    static int System = -1; 

    public static void main(String[] args) { 
     java.lang.System.out.println("Foo"); 
    } 
} 

इस संकलन मुझे कह रही है कि "पूर्णांक dereferenced नहीं किया जा सकता" एक त्रुटि देता है। कारण स्पष्ट है, लेकिन इस तरह की स्थितियों को कैसे संभालना चाहिए। यह कोड-जनरेशन परिदृश्यों में विशेष रूप से प्रासंगिक है, जहां कोई नहीं जानता कि जेनरेट कोड के साथ उपयोगकर्ता कोड क्या अंतर्निहित है।

सी # में मैं "java.lang" से पहले "वैश्विक ::" नामस्थान विनिर्देशक का उपयोग करूंगा, लेकिन आप जावा में क्या करते हैं?

+0

ऐसा कुछ है जिसे मैंने कभी सोचा नहीं था! – adarshr

उत्तर

3

जावा में कोई सामान्य समाधान नहीं है। जिस तरह से हम इस के साथ रहती

  1. सम्मान नामकरण रिवाजों का है, जो पैकेज/फ़ील्ड नाम से वर्ग के नाम को अलग, और
  2. अपने वर्ग के नाम के साथ स्थिर वर अर्हता प्राप्त जब कोड जनरेट करने के लिए है।
+0

यह कैसे मदद की जानी चाहिए? Eyvind अपने उदाहरण में सामान्य नामकरण सम्मेलनों का पालन करता है और इससे कोई फर्क नहीं पड़ता कि क्षेत्र स्थिर है या नहीं, यह अभी भी जावा पैकेज तक पहुंच के लिए प्राथमिकता है। – jarnbjo

+0

जैसा कि मैंने कहा, "जावा में कोई सामान्य समाधान नहीं है :) :) –

+0

ठीक है, यही वह था जिसे मैं डरता था। व्यवहारवाद, मैं यहाँ आ गया हूँ! – Eyvind

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