2015-06-15 21 views
3

关于抽象和构造函数的新手问题。我觉得我失去了一些明显的东西。使用抽象创建对象失败,可能是一个简单的修复我看不到

我有一个抽象类件,这是构造函数:

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; 
    } 
} 

我有延伸件类:

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

'件blackBishop =新毕晓普( 'B',新的INT [] {0,0});' – MadProgrammer

回答

4

{0,0}只能在声明int数组变量时使用(int[] var = {0,0};)。

变化

Piece blackBishop = new Bishop('b', {0,0}); 

Piece blackBishop = new Bishop('b', new int[] {0,0}); 
+0

一个简单的修正确实。非常感谢! – jmt177

相关问题