【发布时间】:2018-07-23 19:12:22
【问题描述】:
我为BinarySearchTree 创建了一个类,为BinarySearchTreeNode 创建了一个类。现在我正在为BinarySearchTree 创建一个子类,有什么方法可以使用所有相同的方法,但使用子类节点?因此,所有方法都与原始类相同,但对所有内容都使用我的节点的子类?怎么样?
【问题讨论】:
标签: java class oop inheritance
我为BinarySearchTree 创建了一个类,为BinarySearchTreeNode 创建了一个类。现在我正在为BinarySearchTree 创建一个子类,有什么方法可以使用所有相同的方法,但使用子类节点?因此,所有方法都与原始类相同,但对所有内容都使用我的节点的子类?怎么样?
【问题讨论】:
标签: java class oop inheritance
您可以让树使用通用类型的节点,并在您从它继承时进一步指定它:
public class BinarySearchTree<T extends BinarySearchTreeNode> {
// Just an example
public void add(T node) {
// Code...
}
}
public class SpecialBinarySearchTree extends BinarySearchTree<SpecialBinarySearchNode> {
// Just an example
@Override
public void add(SpecialBinarySearchNode node) {
// Code...
}
}
【讨论】: