0
그래서 일반적으로 (보통은 T
으로 표시됨)이라는 유형 매개 변수를 가진 소스 코드로 사용되는 일반 클래스 BinaryTree
이 있습니다. 클래스는 다음과 같은 :자체 클래스 내에서 정적 클래스를 확장하는 형식 매개 변수가있는 일반 클래스의 인스턴스를 만드는 방법은 무엇입니까?
public class BinaryTree<Node extends BinaryTree.BTNode<Node>> {
public static class BTNode<Node extends BTNode<Node>> {
public Node left;
public Node right;
public Node parent;
}
public BinaryTree(Node sampleNode) {
this.sampleNode = sampleNode;
}
//Some methods
}
일반적으로, (내 다른 일반적인 클래스 포함), 그것의 생성자 유형을 통과 가정, 나는이 일을하여 호출 :
BinaryTree<Integer> myTree=new BinaryTree<Integer>(Integer.class);
그러나 물론을 이것은 BTNode
을 확장하는 유형 Node
을 원하는대로 작동하지 않습니다. Node
을 BTNode
까지 확장하여 참조 할 수 있도록 BinaryTree
의 인스턴스를 만들 수 있습니까? 당신이 BTNode
클래스의 형식 매개 변수를 변경하는 경우
BTNode 거기. – markspace