public abstract class Parent {
private Parent peer;
public Parent() {
peer = new ??????("to call overloaded constructor");
}
public Parent(String someString) {
}
}
public class Child1 extends parent {
}
public class Child2 extends parent {
}
Когда я создаю экземпляр Child1, я хочу, чтобы автоматически создавался «узел», который также имеет тип Child1, и сохранялся в свойстве peer. Аналогично для Child2, с одноранговым узлом типа Child2.
Проблема заключается в присвоении свойства peer в родительском классе. Я не могу создать новый класс Child, вызвав new Child1()
, потому что тогда он не будет работать для Child2. Как я могу это сделать? Могу ли я использовать ключевое слово, которое будет относиться к дочернему классу? Что-то вроде new self()
?