Verschachtelte Klasse.
-
class Foo{ int bar; class Sub{ int bar; void f(){ // Wie kann ich auf das bar aus Foo zugreifen? } } }
-
Innerhalb von Foo:
Sub s = new Sub();
s.f();Ausserhalb von Foo: geht nicht weil Sub private ist.
Falls Sub public ist:
Foo.Sub s = new Foo.Sub();
s.f();Simon
-
Ich habe aber weder nach in Foo, noch nach außerhalb Foo sondern nach in Sub gefragt.
PS: Und Sub ist nicht private.
PPS: Dein Code geht nur wenn Sub static ist.
-
class Foo{ int bar; class Sub{ int bar; void f(){ Foo.this.bar = 2; } } }
Sorry für die komplett falschen Antworten im vorherigen Post.
Simon
-
Danke