java继承找不到符号

时间:2012-10-28 15:37:28

标签: java inheritance compilation

我班上有这一行:

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相同的目录中。

1 个答案:

答案 0 :(得分:3)

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

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

public Line(double x0, double y0, ...) {
    super(x0, y0);
    ...
}