Один из методов для класса B - передать «имя» экземпляра A в конструктор A:
public class A {
public A(String name) {
this.name = name;
}
private final String name;
}
Таким образом, каждый экземпляр A будет знать имя, которому он был назначен (кем бы он ни был создан).
Обратите внимание, что у А нет способа узнать имя переменной , которая в настоящее время используется для обращения к ней. Это потому, что ссылочные переменные могут быть назначены по желанию:
A foo = new A(); // A's name could be considered to be "foo"
A bar = foo; // now, is A's name "foo" or is it "bar"? (It's both!)
foo = null; // and now, it's only referred by "bar".