私がやっていることは、どういうわけかデザインが悪いのではないかと思っています。
私は物事のArrayListを持っています。このリストが常に存在する必要があります。これらのリストの 1 つだけが必要です。このリストを操作するメソッドもいくつかあります。したがって、私はすべてを静的にしました。
問題は、これらすべてが 1 つのクラスに隠されているため、文字通り、そのクラス内のすべてが static として宣言されていることです。クラス全体を静的にしたいので、これは少し奇妙に思えます。
Java ではクラス全体を静的にすることはできず、コード内の静的メソッドを最小限に抑えるように教えられたという事実は、私の頭の中でいくつかの警鐘を鳴らしていますが、正直なところ、なぜ何が起こったのか合理的な理由がわかりません。やってもうまくいかない。
編集:プログラムと、なぜ私がしたことをやろうと決めたのかについて、もう少し詳しく説明します。
プログラムの中心は、アイテム用とキャラクター用の 2 つのデータベースです。キャラクターはアイテムを一時的に所有する必要がありますが、すべてのアイテムは常にリストに表示できる必要があります。
アイテムの配列リストを作成し、各アイテムに使用可能または使用不可を示すブール値を持たせることにしました (すべてのアイテムと使用可能なアイテムの両方を簡単に表示できます)。各キャラクターには、アイテムの独自の小さな配列リストがあり、データベースからアイテムの複製を追加します。
他のクラスからデータベースにアクセスできるようにするために (これが私がアイデアを始めた場所です)、大きな配列リストを単純に静的にするという最も簡単なオプションを検討しました。複数が必要な場所。もちろん、リストを静的にしたので、それを操作する基本的なメソッドもすべて静的にする必要がありました。
私がやろうとしていることを行うためのより良い方法があると確信していますが、私は練習中の初心者です.
EDIT2:ああ、アイテムのリストが追加、削除され、プログラムの実行中にアイテムが変更されます。キャラクターがアイテムのコピーを受け取ることのもう 1 つの効果は、キャラクターが持っている限り、自分のアイテムが同じままであるということです。