У меня есть класс (A) с конструктором, определенным как показано ниже.В конструкторе я создал объект для B, передав ему реализацию слушателя (интерфейса), как показано ниже.
public class A {
private String str;
public A() {
new B(new OnStringUpdatedListener() {
public void onStringUpdated(String str) {
A.this.str = str;
}
});
}
}
В приведенном выше коде объект B не привязан ни к какому полю A или переменной в конструкторе.
Каков срок жизни объекта B? Отмечен ли он для сборки мусора, как только выполнено выполнение конструктора, или он все еще жив, поскольку зарегистрировал прослушиватель, который изменяет поле A.