Recupere a instância do chamador (não a classe) de um método ou construtor
possível recuperar a instância do chamador de um método / construto
Esta pergunta já foi publicada, mas sempre que as respostas estão falando sobre a classe do chamador (usando o stacktrace) e não sobre a instância do chamador. Se existir uma solução, pode ser realmente conveniente criar um gráfico de objeto (com um super tipo comum) e manipular a navegação filho pai com o construtor padrã
public class TestCallStack {
public static class BaseClass {
BaseClass owner;
// //ok, this is the correct way to do it
// public BaseClass(BaseClass owner) {
// this.owner = owner;
// }
public BaseClass() {
//this.owner = ???????;
}
}
public static class Parent extends BaseClass {
Child child = new Child();
}
public static class Child extends BaseClass {
}
public static void main(String[] args) {
Parent parent = new Parent();
System.out.println(parent.child.owner==parent); // must be true
}
}