多级继承
Multiple Level of Inheritance
我有以下 Java class 具有特定类型参数的多级继承。我想在 class B 中使用类型参数 T。
class B extends C {
}
class C<T extends D> {
}
class D {
}
然而,他下面的代码没有编译:
class B extends C {
T t;
}
class C<T extends D> {
}
class D {
}
虽然我可以在 class C 中定义变量 t,但这不是一个好的编码习惯。我如何定义以下内容(这也不能编译)?
class B extends C<T extends D> {
}
谢谢!
应该是:
class B<T extends D> extends C<T> {
}
类型参数不被继承!
如果你想让你的 class B
泛型,你应该指定它自己的类型参数:
class B<T extends D> extends C<T> {
T t;
...
}
请注意,您必须再次约束类型参数 T
以使其扩展 D
,因为它在 class C
.[=15= 中以这种方式受到约束]
我有以下 Java class 具有特定类型参数的多级继承。我想在 class B 中使用类型参数 T。
class B extends C {
}
class C<T extends D> {
}
class D {
}
然而,他下面的代码没有编译:
class B extends C {
T t;
}
class C<T extends D> {
}
class D {
}
虽然我可以在 class C 中定义变量 t,但这不是一个好的编码习惯。我如何定义以下内容(这也不能编译)?
class B extends C<T extends D> {
}
谢谢!
应该是:
class B<T extends D> extends C<T> {
}
类型参数不被继承!
如果你想让你的 class B
泛型,你应该指定它自己的类型参数:
class B<T extends D> extends C<T> {
T t;
...
}
请注意,您必须再次约束类型参数 T
以使其扩展 D
,因为它在 class C
.[=15= 中以这种方式受到约束]