Skip to content

泛型与继承

泛型不能被继承,但是子类可以决定父类中的泛型参数

java
public class Parent<T> {
    protected T value;
}

单泛型继承

保留泛型

子类保留父类中的泛型参数,并在子类中传入泛型参数

java
public class Child<T> extends Parent<T> {
}
  • 传入泛型参数:
java
Child<String> c = new Child<>();

指定泛型

  • 子类中传入父类泛型参数
java
public class Child extends Parent<String> {
}
  • 子类不再持有泛型参数
java
Child c = new Child();

多泛型继承

全部保留

java
public class Child extends Parent<String> {
}

部分指定

java
public class Child<V> extends Parent<String, V> {
}

全部固定

java
public class Child extends Parent<String, Integer> {
}