我正在创建一个国际象棋游戏,我正在尝试用“虚拟”棋子填充我的游戏板,我创建了一个从父类(super class) Piece 扩展的子类。该子类称为 Dummy。无论如何,我正在尝试通过创建它的实例
Piece[][] pieces=new Dummy();
虚拟类中的构造函数与graphics2d绘制方法一样不执行任何操作。但是我在编译时遇到错误。它说“不兼容的类型pieces = new Dummy();必需:Piece[][]找到: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/