dendimiiii;
私は次を達成しようとしています:
親:
public class Animal {
private List<Animal> relatives;
public List<Animal> getRelatives() {
return relatives;
}
public void setRelatives(List<Animal> relatives) {
this.relatives = relatives;
}
}
子:
public class Dog extends Animal {
private List<Dog> relatives;
public List<Dog> getRelatives() {
return relatives;
}
public void setRelatives(List<Dog> relatives) {
this.relatives = relatives;
}
}
しかし、いくつかの理由で、私は方法が衝突しているというエラーが発生します。これは、ジェネリック型を使用せず、相続でさえ可能ですか?
アンドリューTobilko:
あなたは本当に、子クラスで/重複何かをオーバーライドする必要はありません。
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> {}