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){
//代码。。。
}
}