Inner Klasse - Äußere Klasse
-
Ich war zunächst verwundert als ich folgendes (in der Art) sah:
class Außen { private int xxx; class Innen { void Funktion(){ xxx = 2;} } }
Anscheinend hat die Inner Klasse Zugriff auf Elemente der Äußeren... ist das so gewollt?
Und wie mach ich das wenn es Überdeckungen gibt?class Außen
{
private int xxx;
class Innen
{
private int xxx;
void Funktion(){ xxx = 2;} // soll xxx der äußeren ändern
}
}
[/code]?
-
public class Outer { int xxx; class Inner { int xxx; void set() { this.xxx = 10; Outer.this.xxx = 20; } int get() { return this.xxx; } } void set() { this.xxx = 30; } int get() { return this.xxx; } public static void main(String[] args) { Outer outer = new Outer(); Inner inner = outer.new Inner(); inner.set(); System.out.println(inner.get()); // 10 System.out.println(outer.get()); // 20 } }