我一直在Netbeans的一个项目上工作,最近将所有类从一个java文件移动到单个类文件。
我更新了单独文件中某些类的构造函数,例如:
public class Pawn extends Piece {
public Pawn(char color, int id, int xSpace, int ySpace) throws InterruptedException{
this.color = color;
this.id = id;
this.xSpace = xSpace;
this.ySpace = ySpace;
this.firstMoveMax = 2;
this.verticalMoveMax = 1;
this.horizontalMoveMax = 0;
this.diagonalMoveMax = 1;
}
}
这个Pawn类在它自己的Pawn.java文件中。我在另一个文件中更新了构造函数调用,如下所示:
else if (x == 1 || x == 6){
this.board[x][y] = new Pawn(color, IdCounter.getId(), x, y);
}
正如您所看到的,构造函数的签名在类和实例化类的位置都匹配。但是,当我尝试运行该文件时,我收到了附加的错误:
[在此处输入图像说明] [1]
C:\Users\Documents\NetBeansProjects\chess\Chess\src\chess\Board.java:28: error: constructor Pawn in class Pawn cannot be applied to given types;
this.board[x][y] = new Pawn(color, IdCounter.getId(), x, y);
required: char,int
found: char,int,int,int
reason: actual and formal argument lists differ in length
错误显示代码期望旧构造函数(char,int)而不是新构造函数(char,int,int,int)。
我的问题是,这是一个Netbeans问题,一个问题,因为这两个类是在单独的文件中,还是其他的东西在继续?
感谢您的帮助!