我的代码中出现以下错误:


默认情况下,未定义隐式超级构造函数GLabel()
构造函数。必须定义一个显式构造函数


我的父类“ GLabel”包含在一个外部jar中。我可以打开源文件,但是无法对其进行编辑。因此,我决定扩展GLabel以创建所需的功能。

如您所见,“ GLabel”类没有空的构造函数。我假设这是引起问题的原因?我该如何解决?

儿童班

import acm.graphics.GLabel;

public class BreakoutLabels extends GLabel{

    // no code inside

}


家长班

public class GLabel extends GObject {

    public static final Font DEFAULT_FONT = new Font("Default", 0, 12);

    private String label;

    private Font labelFont;

    public GLabel(String str) {
        this(str, 0.0D, 0.0D);
    }

    public GLabel(String str, double x, double y) {
        label = str;
        setFont(DEFAULT_FONT);
        setLocation(x, y);
    }
}

最佳答案

如果GLabel没有默认的(empty-args)构造函数,则派生类的构造函数必须调用GLabel的声明的构造函数之一。但是,定义GLabel意味着默认的构造函数没有任何意义,并且您必须提供适当的参数。

08-04 21:29