2013-03-22 6 views
5

मेरे पास बाहरी कक्षा है। मेरे पास एक निजी आंतरिक कक्षा भी है जो जेपीनल को फैलाती है। यह कोड का डिज़ाइन है।जावा आंतरिक कक्षाएं विधि का उपयोग

public class Outer{ 
    private class Inner extends JPanel{ 
     public void doSomeWork(){} 
    } 

    public Outer(){ 
     Inner inner = new Inner(); 
     inner.doSomeWork(); 
    } 

    public static void main(String args[]){ 
     Outer outer = new Outer(); 
    } 
} 

मैं बाहरी वर्ग से भीतरी वर्ग की विधि doSomeWork() उपयोग करने में सक्षम नहीं किया जा रहा हूँ। कृपया मदद करे।

+1

क्या आप मतलब है आप विधि का उपयोग नहीं कर सकते हैं? क्या आप एक कंपाइलर त्रुटि संदेश देख रहे हैं? यदि ऐसा है, तो कृपया इसे अपने प्रश्न में यहां पोस्ट करें। –

+3

[यह सिर्फ ठीक है संकलित] (http://ideone.com/G9SCSB)। – dasblinkenlight

+2

बाहरी बाहरी = नया बाहरी(); बाहरी। आंतरिक आंतरिक = बाहरी। नया आंतरिक(); inner.do SomomeWork(); – chuthan20

उत्तर

12

यहाँ है कि कैसे आप आंतरिक की एक वस्तु बनाने के लिए और अपने चर का उपयोग ...

Outer outer = new Outer(); 
Outer.Inner inner = outer.new Inner(); 
inner.doSomeWork(); 

Example code from Oracle is here...

+0

यह कोड काम नहीं करता है, आंतरिक वर्ग निजी है, इसलिए कोई भी ग्राहक कोड इसे एक्सेस नहीं कर पाएगा। लेकिन मुझे नहीं लगता कि यह ओपी का सवाल है, क्योंकि वह बाहरी वर्ग से आंतरिक कक्षा तक पहुंचने की कोशिश कर रहा है, न कि बाहरी रूप से। – jedyobidan

+0

आप यह कैसे कह सकते हैं? मैंने जेपीनल को हटाकर कोशिश की कि यह ठीक काम कर रहा है। –

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