2012-09-10 4 views
6

यह सीधे आगे सवाल नहीं है। मेरे मामले में बाहरी वर्ग चर और आंतरिक वर्ग सेटटर विधि का तर्क नाम समान है। जैसे:इनर क्लास से छायांकित बाहरी वर्ग चर का उपयोग कैसे करें?

class Problem { 
    String s; 
    int p; 
    class Inner { 
     String testMethod() { 
     return s = "Set from Inner"; 
     } 
     void setP(int p) 
     { 
      p=p; //it will do self assignment 
     } 
    } 


} 

अब मैं this.p=p साथ बाहरी वर्ग उदाहरण चर पी प्रारंभ नहीं कर सकते, क्योंकि यह आंतरिक वर्ग इंगित करता है। फिर मैं Problem.p=p; नहीं कर सकता यह एक त्रुटि हो जाता है। अब मैं आंतरिक पी विधि को setP(int p) के तर्क को समान नाम पी रखने के लिए बाहरी पी कैसे असाइन कर सकता हूं?

+0

इसके अलावा इस जाँच बाहरी कक्षा में पी refere के लिए उत्तर http://stackoverflow.com/questions/12139160/inner-class-access-to-outer-class-me thod-same-method-names/12139195 # 12139195 –

+0

@ नंदकुमार मैंने अभी देखा है, अच्छी व्याख्या :) –

उत्तर

8

यह आप कैसे/यह क्या करना चाहिए कर सकते हैं:

Problem.this.p 
+0

धन्यवाद, यह काम करता है! :) –

1

उपयोग की तरह

Problem.this.p = p; 
1

उपयोग इस

class Problem { 
String s; 
int p; 
class Inner { 
    String testMethod() { 
    return s = "Set from Inner"; 
    } 
    void setP(int p) 
    { 
     Problem.this.p=p; //it will do assignment 
    } 
    } 
} 
0
class Problem { 
String s; 
int p; 
class Inner { 
    String testMethod() { 
    return s = "Set from Inner"; 
    } 
    void setP(int p) 
    { 
     Problem.this.p=p; //it will do assignment to p of outer class 
    } 
} 
} 
+0

क्यों डाउनवोट? जवाब पोस्ट करने में बस देर हो चुकी है .... –

+0

हाँ, आपका उत्तर कम नहीं किया जाना चाहिए। मुझे प्रश्नकर्ता समर्थन आप। –

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

  • कोई संबंधित समस्या नहीं^_^