在Java中实现通用接口

时间:2015-05-06 09:14:19

标签: java generics

我是Java Generics的新手。我必须实现一个通用类型的接口。语法如下:

public interface A{}

public interface B<T extends A>{
    public T methodB(T a) ;
}

现在我必须实施B,所以让我说我的班级是C

public class C implements B<T extends A>{}

java编译器不允许我这样使用它。另外我不想使用原始类型。请帮忙。

2 个答案:

答案 0 :(得分:8)

应该是

public class C<T extends A> implements B<T>

类型参数在类名后面声明,稍后可以在implements子句中使用。

答案 1 :(得分:3)

如果您的实现类仍然是泛型类型,则必须使用以下语法:

public class C<T extends A> implements B<T> {}

正如 Eran 所解释的那样。

如果C不是通用的,您只需要为您的界面指定类型参数:

public class C implements B<TypeExtendingA> {}

TypeExtendingA实施或延伸A(或A