class A {}
class B extends A {}
class C<T extends B> {}
class D extends C<A> {}
class B extends A {}
ты говоришь "В наследник А". class C<T extends B> {}
ты говоришь "класс С параметризован типом В или его наследником". class D extends C<A> {}
ты говоришь "класс D - наследник С, параметризованного типом А".