の代わりに、このやって:
PersonInstance instance1 = new PersonInstance();
PersonInstance instance2 = new PersonInstance();
...
...
...
PersonInstance instance99 = new PersonInstance();
をあなたはすべての70個のインスタンスを作成するためにarray
を使用することができますPersonInstanceの、のような:N
はあなたがPersonInstance
のインスタンスを格納することができ、アレイ内のスロットの数がある
PersonInstance[] personInstances = new PersonInstance[N];
for(int i = 0; i < personInstances.length; i++){
personInstances[i] = new personInstances();
}
。あなたのケースでは、N
は70のようになります。
PersonInstance[] personInstances = new PersonInstance[70];
for(int i = 0; i < personInstances.length; i++){
personInstances[i] = new personInstances();
}
あなたはPersonInstance番号k
にアクセスしたい場合はその後、あなたがでそうするでしょう:インデックス0、Eから配列の開始以来、
PersonInstace thisPerson = personInstances[k-1];
。あなたがPersonInstance 56
にアクセスしたい場合は、あなたがでそうなりグラム:
PersonInstace thisPerson = personInstances[55];
はそれがお役に立てば幸いです。例えば、BrotherInstanceはPersonInstanceを拡張する場合は、あなたのようなあなたのPersonInstanceアレイにBrotherInstanceを追加することができ
:
PersonInstance[] personInstances = new PersonInstance[70];
//add 50 PersonInstances
for(int i = 0; i < personInstances.length-20; i++){
personInstances[i] = new PersonInstances();
}
//add 20 BrotherInstances
for(int i = 50; i < personInstances.length; i++){
personInstances[i] = new BrotherInstances();
}
などにそれらを一つずつアクセス:
ANSWERを更新し
PersonInstance currentPerson = personInstances[24] //A PersonInstance PersonInstance currentBrother = personInstances[61] //A Brother instance
または
BrotherInstance currentBrother = personInstances[61] //A Brother instance
またはループそれらすべてのように:
for(PersonInstance person: personInstances){
//Do something with every person here, maybe print out something.
}
for-loop
はすべてPersonInstancesをループすることが、彼らはどちらかPersonIntanceあるかPersonInstanceを拡張するので、彼らはPersonInstanceまたはBrotherInstanceです天気を。
しかし、それらは同じではありません。 –
ファクトリデザインパターンを使用して、目的のオブジェクトを作成することができます。オブジェクトの作成は、forループをラップすることができます。 – gihan
あなたは私の言いたいことを知っています。 –