Я хочу получить экземпляр класса, где этот экземпляр был создан, возможно ли это?Доступ к экземпляру из текущего экземпляра
Примечание: Занятия не вложены.
class Frame {
protected Panel p1;
private String name;
public Frame(String name) {
this.name=name;
p1=new Panel();
}
public String getName() {
return name;
}
}
..
class Panel {
public Panel() {
System.out.println("I was made in: "+Frame.this.getName());
// but you can't do this
}
}
..
public void main(String[] args) {
Frame f1=new Frame("first"); // should print: first
Frame f2=new Frame("second"); // should print: second
}
Примечание 2: Я в курсе этого подхода:
class Frame {
protected Panel p1;
private String name;
public Frame(String name) {
this.name=name;
p1=new Panel();
}
public String getName() {
return name;
}
}
..
class Panel {
private Frame owner;
public Panel(Frame owner) {
this.owner=owner; // DECLARING OWNER
System.out.println("I was made in: "+owner.getName());
}
}
..
public void main(String[] args) {
Frame f1=new Frame("first"); // should print: first
Frame f2=new Frame("second"); // should print: second
}
... но это не делает меня счастливым, я хочу как-то сразу получить доступ, если это возможно.
Да, как это, но это единственный способ? Я не могу так или иначе получить доступ напрямую? – jovanMeshkov
Я не думаю, что мне нужны одиночные игры. Даже если у меня есть несколько экземпляров любого класса, экземпляр «супер» будет уникальным ... – jovanMeshkov
@JovanMeshkov Я отредактировал. Попробуй это? –