Kiegészíteném a nem-static belső class-ról mondottakat azzal, hogy példányosíthatóak kívülről, amennyiben a new operátor egy kevéssé szokásos szintaxisát használjuk.
pl. legyen:
class A {
int a;
class B {
void ezmuxik() {
// itt hivatkozunk a kulso osztalyra! Ehelyett irhatunk a++;-t, ha az egyertelmu.
A.this.a++;
}
}
}
Van egy másik osztály, mely ezt csinálja:
class C {
void f() {
// hibas! ''no enclosing instance of A''
new A.B();
// gyartunk egy A-t
A a_peldany=new A();
// explicit megadhato az enclosing instance!
A.B ab_peldany=a_peldany.new B();
}
}
Na kezd teljes lenni a dolog. Remélem érthető.