[英]Java Generic: Can a Generic extends another Generic class?
在这里,这是我的问题,我有三个摘要类,都是通用的,我想要这样的东西:
public abstract class AbstracOne< T extends AbstractTwo< K extends AbstractThree<K> >>>
这不起作用,我得到以下错误(在第二个扩展):
令牌“extends”的语法错误,预期。
但是,如果我使用以下代码,它正在工作:
public abstract class AbstracOne< T extends AbstractTwo< ? extends AbstractThree<?> >>>
那么,使用K和有什么区别?
非常感谢你
您可以阅读Angelica Langer的这个优秀常见问题解答来清除这一区别。
泛型类具有类型参数,当您使用泛型类时,这些参数将替换为类型参数。
类型参数可以有约束。 类型参数可以是完全限定类型或以前定义的类型参数。
因此,如果已经定义了K
则可以使用K
您还可以在定义约束时添加约束。
public abstract class AbstractOne<K extends AbstractThree<K>, T extends AbstractTwo<K>>
祝好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.