我正在尝试写一些类似
的内容public class A implements B<T implements C> {}
和
public abstract class M<I extends P> extends R<I extends P> implements Q<I extends P> {}
但我得到的错误就像多个标记和令牌扩展上的语法错误一样。请告诉我这样做的正确方法。
答案 0 :(得分:13)
如果在泛型中有接口,则仍然必须使用extends
关键字。
在您的情况下,如果您知道T
将是什么:
public class A<T extends C> implements B<T> {}
如果您不这样做,只需使用B
类型实现C
:
public class A implements B<C> {}
对于第二部分,一旦定义了I
,就可以像使用其他泛型类型一样使用它:
public abstract class M<I extends P> extends R<I> implements Q<I> {}
答案 1 :(得分:3)
通用边界中没有implements
个关键字。这只是extends
此外 - 您应该仅在类定义中指定type参数,而不是在超类型中指定。即。
public class A<T extends C> implements B<T> {}