次のように2つのクラスをインスタンス化しようとしています:
ball = new Ball(gc, board, player, ai, score);
ai = new AiPaddle(gc, ball);
私の問題は、まだインスタンス化されていない ai を渡しているため、Ball クラスが Null Pointer Exception をスローし続けることです。
これらのオブジェクトが作成される順序を逆にすると、ボール クラスが必要になるため、代わりに AiPaddle クラスがエラーをスローします。
このような問題を解決する最善の方法は何ですか? 代わりに ai を取る addAi というボール クラスに新しいメソッドを作成して修正したので、次のようにしました。
ball = new Ball(gc, board, player, score);
ai = new AiPaddle(gc, ball);
ball.addAi(ai);
しかし、これを行うにはもっと良い方法があると確信しています。