多级继承

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

我有下面的java类,它具有具有特定类型参数的多级继承。我想在类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 {
}

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

class B extends C<T extends D> {
}

谢谢!

cunj1qz1

cunj1qz11#

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

class B<T extends D> extends C<T> {
    T t;
    ...
}

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

jqjz2hbq

jqjz2hbq2#

应该是:

class B<T extends D> extends C<T> {
}

相关问题