gpt4 book ai didi

java - 覆盖泛型方法的正确方法是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 01:46:19 24 4
gpt4 key购买 nike

public abstract class Abc<T> {
public abstract void f1(T a);
}

abstract class Def<T> extends Abc {

@Override
public void f1(T a) {
System.out.print("f");
}

}

这会产生以下错误:“方法不会覆盖或实现父类(super class)型的方法”

这里有什么问题吗?

最佳答案

您的类定义需要表明您正在通用地扩展父类。

abstract class Def<T> extends Abc<T>

否则,编译器或多或少会假定您正在扩展 Abc<object> ,所以包含 T 的方法签名参数与父类中的参数不匹配(因为它使用不同的 T 参数)。

关于java - 覆盖泛型方法的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9185835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com