1

我的课上有这行:

public class Line extends Figure当我用这个命令编译时:

$ javac -cp :./stdlib.jar Line.java,我得到这个错误:

Line.java:26: cannot find symbol
symbol : constructor Figure()
location: class Figure
public Line(double x0, double y0, double xn, double yn, Color initColor) {
-------------------------------------------------------------------------^
// the dashes above are supposed to be spaces, but I couldn't figure out how to format it correctly. The caret is actually there in that position

通常我会理解这个错误,但这次我不知道发生了什么。我的Figure.java文件与我的Line.java.

4

1 回答 1

3

问题是图中没有空的(默认)构造函数。您的 Line 有一个带有多个参数的构造函数。线延伸图。如果在 Line 的构造函数中没有调用超类中的特定构造函数,Java 将尝试调用默认(无参数)构造函数,但 Figure 没有,因此会出现编译错误。

在 Line 的构造函数中,您需要以下内容:

public Line(double x0, double y0, ...) {
    super(x0, y0);
    ...
}
于 2012-10-28T15:40:53.403 回答