如果我有如下接口(interface),我想实现它
public interface A<E extends Comparable<E>>{
//code
}
实现类声明的正确语法是什么?执行此操作时出现错误
public class B<E extends Comparable<E>> implements A<E extends Comparable<E>>{}
它应该只读 implements A<E>
或者只是 implements A
?
最佳答案
例如,Comparable
类型 E
是 String
,您需要:
public class B implements A<String> { ... }
如果您想在 B
中保留泛型类型参数声明,您可以:
public static class B<E extends Comparable<E>> implements A<E> { ... }
请注意,A
中的E
与B
中的E
没有关系,即以下是有效:
public static class B<Foo extends Comparable<Foo>> implements A<Foo> { ... }
(不知道你的代码中是否要区分,但它可能有助于理解)
关于接口(interface)中的java泛型子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6471176/