Java 继承和泛型的构造函数问题

Java 继承和泛型的构造函数问题,java,generics,inheritance,Java,Generics,Inheritance,我很难理解带有继承的泛型。我得到的错误是: Stage.java:66: error: constructor Stage in class Stage<T> cannot be applied to given types; { ^ required: ArrayList<T>,double,ArrayList<T> found: no arguments reason: actual and formal arg

我很难理解带有继承的泛型。我得到的错误是:

Stage.java:66: error: constructor Stage in class Stage<T> cannot be applied to given types;
        {
        ^
  required: ArrayList<T>,double,ArrayList<T>
  found: no arguments
  reason: actual and formal argument lists differ in length
  where T is a type-variable:
    T extends Object declared in class Stage
Stage.java:66:错误:类阶段中的构造函数阶段不能应用于给定类型;
{
^
必需:ArrayList、double、ArrayList
找到:没有参数
原因:实际参数列表和正式参数列表长度不同
其中T是一个类型变量:
T扩展类阶段中声明的对象
我拥有的是一个名为Stage0的子类(Stage的内联类),它继承自Stage。Stage0基本上具有相同的功能条-Stage0将@Override其父类中的一个方法。 这是Stage类的第63行(Stage0的开始)

class Stage0扩展了Stage
{
阶段0(ArrayList inQ,双输入时间,ArrayList outQ)
{
inputQueue=inQ;
takesTime=输入时间;
outputQueue=outQ;
}
@凌驾
公共布尔IsStarting(双倍时间)
{
返回false;
}
}
我的错误的来源是什么

干杯

public class Stage<T> // equivalent to a 'storage'
{
    private T holdItem;
    private boolean blocked;
    private double takesTime, timeTaken, blockedTime, starveTime;
    private ArrayList<T> inputQueue, outputQueue;

    public Stage(ArrayList<T> inQ, double inputTime, ArrayList<T> outQ)
    {
        inputQueue = inQ;
        takesTime = inputTime;
        outputQueue = outQ;
    }
公共类阶段//相当于“存储”
{
私人物品;
私有布尔阻塞;
私人双重占用时间、占用时间、阻塞时间、饥饿时间;
私有ArrayList inputQueue、outputQueue;
公共阶段(ArrayList inQ、双输入时间、ArrayList outQ)
{
inputQueue=inQ;
takesTime=输入时间;
outputQueue=outQ;
}

因为您没有在
Stage0
构造函数代码中指定对
super
的调用,编译器会为您插入它,就像您键入了以下内容一样:

Stage0(ArrayList<T> inQ, double inputTime, ArrayList<T> outQ)
{
    super();                       // <======================
    inputQueue = inQ;
    takesTime = inputTime;
    outputQueue = outQ;
}

由于您尚未在
Stage0
构造函数代码中指定对
super
的调用,编译器将为您插入该调用,就像您键入以下内容一样:

Stage0(ArrayList<T> inQ, double inputTime, ArrayList<T> outQ)
{
    super();                       // <======================
    inputQueue = inQ;
    takesTime = inputTime;
    outputQueue = outQ;
}

请给出阶段类代码。@jelleB阶段类代码已添加。T.J.已解决问题。我将标记已解决的问题。干杯:)请给出阶段类代码。@jelleB阶段类代码已添加。T.J.已解决问题。我将标记已解决问题。干杯:)这已解决问题!我将标记为已解决问题时间一到,我就把它标记为已解决-谢谢!
Stage0(ArrayList<T> inQ, double inputTime, ArrayList<T> outQ)
{
    super(inQ, inputTime, outQ);   // <======================
    inputQueue = inQ;
    takesTime = inputTime;
    outputQueue = outQ;
}