静的プロパティは、1つのインスタンスでその親クラスにバインドされるプロパティです。
クラスの新しいインスタンスを静的プロパティxに格納することは可能です(これは現在行っていることですが、xは1つのインスタンス(作成してxにロードした最新のsClass()インスタンス)のみを保持します。
必要に応じて、静的なsClass xの代わりに、プライベートsClass [] sClassArray(sClassオブジェクトの配列)があり、新しいsClassオブジェクトを作成するたびに、それを要素として配列にロードします。
たとえば、プライベート静的xプロパティを保持するクラスで次のことができます。
private static sClass[] sClassArray = new sClass[10]; // Will hold up to 10 sClass objects.
// When you instantiate new instances of sClass objects:
for (int i = 0; i < sClassArray.length; i++) {
if (sClassArray[i] == null) {
// Basically load the new sClass object into a slot in the array that hasn't yet been taken.
sClassArray[i] = new sClass();
break;
}
}
次に、インスタンス化したsClassオブジェクトを確認する必要があるときに、sClassArray[]配列を反復処理できます。
もちろん、いくつかの問題があります。
- 動的オブジェクトを静的に追跡する必要があるのはなぜですか?
- オブジェクトの配列を配置すると、不要なメモリを消費する可能性があります(配列要素をリサイクルすることを選択できます。オブジェクトプールパターンを検索するだけです)。