2010-04-28 10 views
57

क्या जावा आंतरिक कक्षा के भीतर से this का संदर्भ प्राप्त करना संभव है?बाहरी वर्ग के "इस" को आंतरिक कक्षा से कैसे पहुंचाया जा सकता है?

यानी

class Outer { 

    void aMethod() { 

    NewClass newClass = new NewClass() { 
     void bMethod() { 
     // How to I get access to "this" (pointing to outer) from here? 
     } 
    }; 
    } 
} 

उत्तर

71

आप इस तरह बाहरी वर्ग के उदाहरण का उपयोग कर सकते हैं:

Outer.this 
6

प्रारंभ में लगा यह करने के लिए बाहरी वर्ग की कक्षा नाम:

outer.this 
1

हाँ आप कर सकते हैं के साथ बाहरी वर्ग नाम का उपयोग करके यहouter.this

27

Outer.this

अर्थात्।

class Outer { 
    void aMethod() { 
     NewClass newClass = new NewClass() { 
      void bMethod() { 
       System.out.println(Outer.this.getClass().getName()); // print Outer 
      } 
     }; 
    } 
} 

बीटीडब्ल्यू जावा क्लास नामों में सम्मेलन द्वारा अपरकेस के साथ शुरू होता है।

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