Java泛型-为什么允许“扩展T”但不允许“实现T”?

我想知道Java中是否有特殊原因总是使用“ extends”而不是“ implements”来定义类型参数的界限。

例:

public interface C {}

public class A<B implements C>{}

被禁止但是

public class A<B extends C>{} 

是正确的。是什么原因呢?

回答:

在类“实现”还是“扩展”之间,通用约束语言没有语义差异。约束可能性是“扩展”和“超级”-也就是说,该类是可分配给其他类的对象(扩展),还是该类可从该类分配(超级)。

以上是 Java泛型-为什么允许“扩展T”但不允许“实现T”? 的全部内容, 来源链接: utcz.com/qa/400516.html

回到顶部