我有
public class First<T> {}
public class Second<T extends SomeConcreteClass> extends First<T> {}
public class Third<T> extends Second<T> {} //Compile-time error
我收到编译时错误
Type argument T is not with bounds of type-variable T.
当我构造 aThird
时,我希望能够将泛型参数作为SomeConcreteClass
(或其派生类),并且如果我提供的类型不是SomeConcreteClass
的继承层次结构的一部分,则会引发运行时错误.
我认为Second
' 的声明中的规范只会向下传播,即它应该隐含在 . 的声明(和任何实例化)中Third
。
错误是怎么回事?