从这里也可以看出来Father<T>是Child<T>的父类。
当
继承泛型类、继承泛型接口 和
实现泛型接口时
时
可以保留泛型元素,或者固定泛型元素。还能新增泛型。
如果父类后面没带<>,则可以认为编译器会默认为其带上<Object>
以下的例子展示了继承泛型类和实现泛型接口时能进行的操作。(继承泛型接口的操作原理都是一样的。)
Java Code
| import java.util.List; /** * 泛型父类 * * @author ShadowfaxGHH * */ public abstract class GenericFatherClass<T1, T2> { T1 age; } //保留T1、T2 class C1<T1, T2, A, B> extends GenericFatherClass<T1, T2> { } //保留T2,T1固定为List class C2<T2, A, B> extends GenericFatherClass<List, T2> { } class C3<A, B> extends GenericFatherClass<List, String> { } class C4<A, B> extends GenericFatherClass{ } 当后面不写<>时编译器默认认为是<Object> // class C4<A, B> extends GenericFatherClass<Object, Object>{} |
Java Code
| public interface GenericFatherInterface <T1, T2>{ } //保留T1、T2 class I1<T1, T2, A, B> implements GenericFatherInterface<T1, T2>{ } //保留T2, T1固定为String class I2<T2, A, B> implements GenericFatherInterface<String, T2>{ } |