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 的实例时,我希望自动构造一个“peer”,它也是 Child1 类型,并存储在对等属性中。对于 Child2 也是如此,具有 Child2 类型的对等点。
问题在于父类中对等属性的分配。我无法通过调用构造新的 Child 类new Child1()
因为那样的话它对 Child2 就不起作用了。我怎样才能做到这一点?我可以使用一个关键字来引用子类吗?就像是new self()
?
我不确定是否可以在不陷入循环的情况下做到这一点。我相信使用工厂方法而不是构造函数来编写此代码会更清晰。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)