Class<? super T> getSuperclass()
Class类中的getSuperclass()返回一个类型为&lt ;?的Class super T&gt;,这意味着Super的Class的类型参数可以是T或它的任何超类,现在为什么SuperClass的Class类型参数与子类的类型相同?
例如
Class<Manage>.class.getSuperclass()
不会返回
Class<Manager>
总之..从不
这有意义吗?或者我在这里遗失了什么?
答案 0 :(得分:7)
界限只是过于宽泛,因为它与您使用Java的泛型表达一样接近。
你真正想要的是<the immediate superclass of T>
;但是在Java的泛型中没有办法写出来。也没办法写<? super T excluding T>
。 <? super T>
就像Java的泛型工作方式一样具体。
对于它的价值,您可以保证您获得的课程将成为有问题的超类 - 无论其类型是什么。
答案 1 :(得分:5)
Java泛型无法指定“某些超类但不类本身”。因此,提供的界限是您可以指定的最佳界限。