When using generics, the inheritance concept is little bit different. You need to use wildcards and sub typing to achieve inheritance with generics.
As per oracle tutorial
Note: Given two concrete types A and B (for example, Number and Integer),
MyClass<A>has no relationship toMyClass<B>, regardless of whether or not A and B are related. The common parent ofMyClass<A>andMyClass<B>is Object.