gpt4 book ai didi

Java继承。 parent 有 parent 名单, child 必须有 child 名单。如何?

转载 作者:行者123 更新时间:2023-11-29 09:58:36 27 4
gpt4 key购买 nike

我正在努力实现下一个目标:

家长:

public class Animal {
private List<Animal> relatives;

public List<Animal> getRelatives() {
return relatives;
}

public void setRelatives(List<Animal> relatives) {
this.relatives = relatives;
}
}

child :

public class Dog extends Animal {
private List<Dog> relatives;

public List<Dog> getRelatives() {
return relatives;
}

public void setRelatives(List<Dog> relatives) {
this.relatives = relatives;
}
}

但出于某种原因,我收到方法冲突的错误。在不使用泛型的情况下,这甚至可以通过继承实现吗?

最佳答案

您真的不需要覆盖/复制子类中的任何内容。

class Animal<Relative extends Animal<?>> {
private List<? extends Relative> relatives;

public List<? extends Relative> getRelatives() {
return relatives;
}

public void setRelatives(List<? extends Relative> relatives) {
this.relatives = relatives;
}
}

class Dog extends Animal<Dog> {}

关于Java继承。 parent 有 parent 名单, child 必须有 child 名单。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57808373/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com