类<class>中的构造函数<class>不能应用于给定类型</class> </class>

时间:2014-10-24 00:05:16

标签: java constructor

我正在制作新游戏,但我遇到了问题。当我编译时,终端说:

./Button.java:29: error: constructor Rect in class Rect cannot be applied to given types;
    public Button(int x0, int y0, int x1, int y1) {
                                                      ^
  required: int,int,int,int
  found: no arguments
  reason: actual and formal argument lists differ in length
1 error

我不确定发生了什么。如你所见,它说found: no arguments 但它也说Button(int x0, int y0, int x1, int y1)。这似乎与自己相矛盾......我注意到,一旦我延长了按钮&#39;它就会开始发生。关于&#39; Rect&#39;

请帮忙。

1 个答案:

答案 0 :(得分:1)

从错误消息中,可以看出Rect类有一个四参数构造函数,并且它没有无参构造函数。

子类构造函数必须调用超类构造函数。如果您没有显式调用one,那么Java将为您插入对默认的no-arg构造函数的隐式调用。这就是失败的原因。 Rect中没有no-arg构造函数。

你必须在这里显式调用超类构造函数,因为Rect中没有no-arg构造函数。

public Button(int x0, int y0, int x1, int y1) {
    super(x0, y0, x1, y1);
    // Rest of your constructor here
}