0

私はチェス ゲームを作成しています。ゲームボードに「ダミー」の駒を配置しようとしています。スーパークラスの Piece から拡張するサブクラスを作成しました。サブクラスはダミーと呼ばれます。とにかく私はそれのインスタンスを作成しようとしています

 Piece[][] pieces=new Dummy();

ダミー クラスのコンストラクターは、graphics2d ペイント メソッドと同様に何もしません。ただし、コンパイル中にエラーが発生します。「互換性のないタイプのピース=新しいダミー();必要:ピース[] []が見つかりました:ダミー」と表示されます

しかし、これは Piece のサブクラスなので、この宣言は許可されますか?

4

2 に答える 2

3

Dummyaを配列に直接割り当てないでください。Dummy最初に配列を作成してから、配列の要素の 1 つに を割り当てます。

Piece[][] pieces = new Piece[8][8];
pieces[0][0] = new Dummy();  // or whichever element you want
于 2013-11-05T00:44:21.960 に答える