多级继承

kkbh8khc  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(335)

我有下面的java类,它具有具有特定类型参数的多级继承。我想在类b中使用类型参数t。

  1. class B extends C {
  2. }
  3. class C<T extends D> {
  4. }
  5. class D {
  6. }

但是,他没有编译以下内容:

  1. class B extends C {
  2. T t;
  3. }
  4. class C<T extends D> {
  5. }
  6. class D {
  7. }

虽然我可以在c类中定义变量t,但这不是一个好的编码实践。我如何定义以下内容(这也不能编译)?

  1. class B extends C<T extends D> {
  2. }

谢谢!

cunj1qz1

cunj1qz11#

不继承类型参数!
如果你想上课的话 B 泛型,您应该指定自己的类型参数:

  1. class B<T extends D> extends C<T> {
  2. T t;
  3. ...
  4. }

请注意,必须再次约束类型参数 T 让它延伸 D 因为在课堂上是这样约束的 C .

jqjz2hbq

jqjz2hbq2#

应该是:

  1. class B<T extends D> extends C<T> {
  2. }

相关问题