我的代码中出现以下错误:
默认情况下,未定义隐式超级构造函数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
意味着默认的构造函数没有任何意义,并且您必须提供适当的参数。