我有以下情况:
public abstract class A{}
public class B extends A{}
public abstract class C<T extends A>{
private T t;
public C(){}
public C(T t){
this.t = t;
}
}
public class D<B> extends C<A>{
private B b;
public D(B b){
super(b);
this.b=b;
}
}
但是我在D类的构造函数中遇到错误。我缺少什么? Java 1.7
答案 0 :(得分:1)
在您提供的代码中,B
(D
的通用参数)不必扩展A
,因此来自C
的泛型参数的界限不是满意。
将D<B> extends C
更改为D extends C<B>
。