2013-03-22 13 views
5

Ich habe eine äußere Klasse. Ich habe auch eine private innere Klasse, die JPanel erweitert. Dies ist das Design des Codes.Java innere Klassen Methode Zugriff

Ich kann nicht auf die doSomeWork() - Methode der inneren Klasse von der äußeren Klasse zugreifen. Bitte helfen Sie.

+1

Was meinen Sie, Sie können nicht die Methode zugreifen? Sehen Sie eine Compiler-Fehlermeldung? Wenn ja, bitte posten Sie es hier in Ihrer Frage. –

+3

[Dies kompiliert einfach] (http://ideone.com/G9SCSB). – dasblinkenlight

+2

Äußeres Äußeres = neues Äußeres(); Outer.Inner inner = extern.new Inner(); inner.doSomeWork(); – chuthan20

Antwort

12

Hier ist, wie Sie ein Objekt der inneren machen und seine Variablen zugreifen ...

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

Example code from Oracle is here...

+0

Dieser Code funktioniert nicht, die innere Klasse ist privat, daher kann kein Clientcode darauf zugreifen. Aber ich denke nicht, dass dies die Frage des OP ist, da er versucht, von außen auf die innere Klasse zuzugreifen, nicht von außen. – jedyobidan

+0

Wie können Sie das sagen? Ich habe versucht, nur JPanel entfernen es funktioniert gut. –