In a generic hierarchy, any type arguments needed by a generic superclass must be passed up the hierarchy by all subclasses.
class Gen<T> { T ob; Gen(T o) { ob = o; } T getob() { return ob; } } class Gen2<T> extends Gen<T> { Gen2(T o) { super(o); } }