如何调用泛型类的父构造函数

时间:2013-11-13 09:04:46

标签: java generics type-safety

我有一个 A 类和一个 B 类,它扩展了 A

public class A<T1, T2> {

    private T1 x;
    private T2 y;

    public A(T1 x, T2 y) {
        this.x = x;
        this.y = y;
    }
}

以上代码工作正常,现在适用于B类

public class B<T1,T2,T3> extends A {
    private T3 z;

    public Triplet(T1 x, T2 y, T3 z) {
        super(x, y);
        this.z = z;
    }
}

Eclipse对此代码发出以下警告:

类型安全:构造函数A(Object,Object)属于原始类型A.对泛型类型A的引用应该参数化

这是什么意思,是我的超级电话不正确还是其他什么?

1 个答案:

答案 0 :(得分:10)

您需要指定父类泛型

public class B<T1,T2,T3> extends A<T1,T2> {