Какой является лучшей практикой, делать что-то вроде этогоУдлинение или передавая в качестве аргумента
public class A {
private B b;
public A() {
b = new B(this);
}
}
public class B {
private A a;
public B(A a) {
this.a = a;
}
}
или расширить класс, им действительно путают о разнице помимо того, что «а» в качестве поля.
Это нехорошо, думаю, что пример с реальными объектами. – Andrew
use extends, когда A - это своего рода B., как Cat - это животное. поэтому Cat расширяет Animal. – Kachna
Общее мнение в наши дни состоит в том, чтобы * предпочесть состав над наследованием *. –