Instanzierung einer inneren Klasse in Klasse eines anderen Packets

fighter

Mitglied
Ich habe eine innere Klasse in einer Klasse , von der ich eine Instanz in einer Klasse eines anderen Packets erstellen will. Wie bewerkstellige ich das ? Normalerweise würde ich das Objekt mit
packetname.klassenname referenzname = new klassenname ();
erzeugen .
In diesem Fall kann die innere Klasse einer anderen Klasse jedoch nicht derart ansprechen ?
 
Zuletzt bearbeitet:
Ich nehme an du sprichst von folgendem Fehler: "No enclosing instance of type ÄußereKlasse is accessible. Must qualify the allocation with an enclosing instance of type ÄußereKlasse (e.g. x.new A() where x is an instance of ÄußereKlasse)." ?
Da brauchst du, wie in der Fehlermeldung steht, eine Instanz der Äußeren Klasse:
Code:
packetname.ÄußereKlasse instanzAußen = new packetname.ÄußereKlasse();
packetname.ÄußereKlasse.InnereKlasse instanzInnen = instanzAußen.new InnereKlasse();

Auch ist zu beachten, dass die InnereKlasse als "public class InnereKlasse" in der ÄußerenKlasse deklariert ist. Wenn sie nur als "class InnereKlasse" deklariert ist, ist sie nicht sichtbar in anderen Paketen.
 

Zurück
Oben