This question already has answers here:
Java generics - why is “extends T” allowed but not “implements T”?

(8个答案)


6年前关闭。





例如,当interface1是另一个接口时,当我使用

public interface Test<T implements interface1>


它抛出一个错误,当我使用

public interface Test<T extends interface1>


没有错误。我不明白当我们处理泛型时,为什么当超级接口是接口时需要使用扩展?

最佳答案

您使用的语法指定T必须是interface1的子类型-也就是说,它是扩展interface1的接口还是实现interface1的类。

谢天谢地,Java的设计师为此给了我们extends而不是extendsOrImplements

10-08 16:17