使用抽象创建对象失败,可能是我看不到的简单修复
Creation of object using abstraction fails, likely a simple fix I cannot see
关于抽象和构造函数的新手问题。我觉得我错过了一些明显的东西。
我有一个抽象的class片,这是构造函数:
public abstract class Piece {
private int[] location = new int[2];
private final char color;
public Piece(char color, int[] location) {
this.location = location;
this.color = color;
}
}
我有一个 class 扩展了 Piece:
public class Bishop extends Piece{
public Bishop(char color, int[] location) {
super(color, location);
}
}
我正在尝试测试它。但是,下面的代码给出了错误的表达式开头非法,类型开头非法,缺少';'
public class testing {
Piece blackBishop = new Bishop('b', {0,0});
}
所有这些文件都在同一个包中。在寻找解决方案数小时后,我决定寻求帮助。请让我知道我做错了什么。
{0,0}
只能在声明int数组变量时单独使用(int[] var = {0,0};
).
改变
Piece blackBishop = new Bishop('b', {0,0});
到
Piece blackBishop = new Bishop('b', new int[] {0,0});
关于抽象和构造函数的新手问题。我觉得我错过了一些明显的东西。
我有一个抽象的class片,这是构造函数:
public abstract class Piece {
private int[] location = new int[2];
private final char color;
public Piece(char color, int[] location) {
this.location = location;
this.color = color;
}
}
我有一个 class 扩展了 Piece:
public class Bishop extends Piece{
public Bishop(char color, int[] location) {
super(color, location);
}
}
我正在尝试测试它。但是,下面的代码给出了错误的表达式开头非法,类型开头非法,缺少';'
public class testing {
Piece blackBishop = new Bishop('b', {0,0});
}
所有这些文件都在同一个包中。在寻找解决方案数小时后,我决定寻求帮助。请让我知道我做错了什么。
{0,0}
只能在声明int数组变量时单独使用(int[] var = {0,0};
).
改变
Piece blackBishop = new Bishop('b', {0,0});
到
Piece blackBishop = new Bishop('b', new int[] {0,0});