this
неявно является окончательным, вы не можете изменить его. Когда вы пишете что-то вроде
class Outer {
int a;
class Inner {
{ a = 1; }
}
}
вы на самом деле пишете так же, как
class Outer {
int a;
class Inner {
{ Outer.this.a = 1; }
}
}
a
не является окончательным, но Outer.this
есть, и это ссылка, которая используется.