지금은 구현 있어요 Tree<T>
추상 클래스 (<T>
루트 노드의 데이터 값을 참조) 현재이 같은있다 : 당신으로자바 추상 클래스/인터페이스와 지정 유형 매개 변수
public abstract class Tree<T> {
public void setChild(int index, ??? childTree);
public void deleteChild(int index, ??? childTree);
public T getData();
public void setData(T value);
}
을 나는 자식 나무에 대해 올바른 유형을 알아내는 데 어려움을 겪고 있습니다. 이상적으로,이
public abstract class Tree<T> {
public void setChild(int index, ImplementingClass childTree);
public void deleteChild(int index, ImplementingClass childTree);
...
}
뭔가를 할 거라고하지만 (아마도 문서를 다시 읽어 것)이 작업을 수행하는 방법을 모르겠어요. 내가 생각하고있는 현재의 솔루션이
public abstract class Tree<T, C extends Tree> {
public void setChild(int index, C childTree);
public void deleteChild(int index, C childTree);
...
}
그러나 더 정확한 솔루션 아이 트리 현재 트리와 같은 클래스로가 지정하는 것 같은 것입니다. Java에서 이것을 지정하는 방법이 있습니까?
무엇이'T'입니까? – sidgate
Java에는 자체 유형이 없습니다. 당신이 염두에두고있는 것은 대체로 정확합니다. 'Tree>'이어야합니다. –
shmosel
정말 동일한 구현이어야합니까? 매개 변수로 'Tree'이 충분하지 않습니까? –