在 Java 中总是使用“extends
”而不是“implements
”来定义类型参数的边界是否有特殊原因?
例如:
public interface C {}
public class A<B implements C>{}
被禁止,但是
public class A<B extends C>{}
是正确的。这是什么原因?
最佳答案
在类“实现”或“扩展”之间,通用约束语言没有语义差异。约束的可能性是“扩展”和“ super ”——也就是说,这个类是否可以分配给另一个(扩展),或者这个类是否可以从那个( super )分配。
关于java - 为什么允许 "extends T"而不允许 "implements T"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/976441/