Java中泛型的super和extends组合

Java中泛型的super和extends组合,java,generics,Java,Generics,您能为Java中的泛型指定super和extends吗 例如,假设您有这样的类结构: 但是只想选择这样的类:扩展了和超级ABB。这可能吗?不,Java不允许同时指定两个边界。也就是说,我从未遇到过需要两个边界的情况。几乎没有理由包括某些子类,但不包括其他子类-如果需要排除子类,这些子类可能违反了它们的约定。为什么要阻止ABB的子类?@PeterLawrey我想阻止ABB的子类A@Marcono1234为什么要阻止的子类?(您可以通过制作一个final)DarthAndroid来实现这一点。例如

您能为Java中的泛型指定
super
extends

例如,假设您有这样的类结构:


但是只想选择这样的类:
扩展了
超级ABB
。这可能吗?

不,Java不允许同时指定两个边界。也就是说,我从未遇到过需要两个边界的情况。几乎没有理由包括某些子类,但不包括其他子类-如果需要排除子类,这些子类可能违反了它们的约定。

为什么要阻止ABB的子类?@PeterLawrey我想阻止ABB的子类A@Marcono1234为什么要阻止的子类?(您可以通过制作一个
final
)DarthAndroid来实现这一点。例如,我更希望ArrayList只包含
扩展A
超级AAB
的对象,类
ABB
仍然可以有子类,但是ArrayList
超级T
意味着
T
或超级类不允许有子类。不是子类。尝试向受限集合添加一个新的受限元素(您同时需要:super和extends限制)。