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
MyClass<A>has no relationship to MyClassMyClass<B>, regardless of whether or not A and B are related. The common parent of MyClassMyClass<A>and MyClassMyClass<B>is Object.