Java 子类可以使用相同的方法,但变量类型不同吗?怎么做?(爪哇)

Java 子类可以使用相同的方法,但变量类型不同吗?怎么做?(爪哇),java,class,oop,inheritance,Java,Class,Oop,Inheritance,我为BinarySearchTree创建了一个类,为BinarySearchTreeNode创建了一个类。现在我正在为BinarySearchTree创建一个子类,除了子类节点之外,有没有其他方法可以使用所有相同的方法?因此,所有方法都将与原始类相同,但对所有内容都使用节点的子类?如何操作?您可以让树使用通用类型的节点,并在继承时进一步指定它: public class BinarySearchTree<T extends BinarySearchTreeNode> { //

我为
BinarySearchTree
创建了一个类,为
BinarySearchTreeNode
创建了一个类。现在我正在为
BinarySearchTree
创建一个子类,除了子类节点之外,有没有其他方法可以使用所有相同的方法?因此,所有方法都将与原始类相同,但对所有内容都使用节点的子类?如何操作?

您可以让树使用通用类型的节点,并在继承时进一步指定它:

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...
    }
}
公共类二进制搜索树{
//只是一个例子
公共无效添加(T节点){
//代码。。。
}
}
公共类SpecialBinarySearchTree扩展了BinarySearchTree{
//只是一个例子
@凌驾
公共void添加(SpecialBinarySearchNode){
//代码。。。
}
}

您可以让树使用通用类型的节点,并在继承时进一步指定它:

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...
    }
}
公共类二进制搜索树{
//只是一个例子
公共无效添加(T节点){
//代码。。。
}
}
公共类SpecialBinarySearchTree扩展了BinarySearchTree{
//只是一个例子
@凌驾
公共void添加(SpecialBinarySearchNode){
//代码。。。
}
}