Java Generics - 实现和扩展

时间:2010-10-21 07:32:24

标签: java generics

我正在尝试写一些类似

的内容
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> {}

但我得到的错误就像多个标记和令牌扩展上的语法错误一样。请告诉我这样做的正确方法。

2 个答案:

答案 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> {}