我正在创建一个国际象棋游戏,并且试图在游戏板上填充“虚拟”棋子,我创建了一个继承自超类棋子的子类。子类称为虚拟。无论如何,我试图通过创建它的一个实例
Piece[][] pieces=new Dummy();
虚拟类中的构造函数不执行任何操作,而graphics2d绘制方法则不执行任何操作。但是,编译时出现错误。它说:“不兼容的类型件=新的Dummy();必需的:件[] []找到的:件”
但是,由于这是Piece的子类,因此此声明是否允许?
最佳答案
不要将Dummy
直接分配给数组。首先创建数组,然后将Dummy
分配给数组的元素之一。
Piece[][] pieces = new Piece[8][8];
pieces[0][0] = new Dummy(); // or whichever element you want
关于java - 抽象类和多态性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19780038/