У меня есть следующий код:
public class Outer {
public Interface Anony {
public void callback();
}
public Outer() {
OtherClass.foo(new Anony() {
@Override
public void callback() {
....
}
});
}
}
Но мой друг сказал мне, что в нем есть какая-то проблема. Я создал экземпляр анонимного класса в конструкторе Outer, поэтому экземпляр анонимного класса неявно ссылается на экземпляр класса Outer, т.е. Outer.this. Но в данный момент экземпляр Outer еще не был полностью создан. Таким образом, экземпляр анонимного класса ссылается на объект с неполными состояниями, поэтому проблема.
Он прав? Спасибо.