Javaクラスに関するいくつかの問題に直面しています。ここでJavaクラスと名前を挿入するためのループ
私はこの
public static void main(String[] args) {
Condutor[] names = new Condutor[10];
Condutor name = new Condutor();
String aName = "";
for (int i = 0; i < 2; i++){
aName = "Mike" + i;
name = new Condutor(aName);
names[i] = name;
}
for (int i = 0; i < 10;i++){
System.out.println(names[i]);
}
}
は、これは、この予想印刷として働いてい私は
public class Condutor {
private String name;
public Condutor(){
name = "";
}
public Condutor(String aName){
this.name = aName;
}
public void setName(String aName){
name = aName;
}
public String getName(){
return name;
}
@Override
public String toString(){
return name;
}
}
とメインに定義されたクラスです。 Mike0 Mike1 ヌル ヌル ヌル はnull null null null ヌル
私はすべてが期待どおりに動作しますループが、名前でそれを見ることができ、同じクラスを維持するが、それは
------
Mike0
------
------
Mike1
------
Mike1
Mike1
null
null
null
null
null
null
null
null
を印刷し
name.setName(aName);
names[i] = name;
System.out.println("------");
System.out.println(names[i]);
System.out.println("------");
によって
name = new Condutor(aName);
names[i] = name;
を変更配列は最初の2つの位置に最後の入力を格納します。
どうしてですか? ループのように正確に保存してはいけませんか?
に関して、唯一Condutorが今までに作成され、それは双方に添加されるので、これが発生
Favolas
ありがとうございます。今私はあなたが問題を解決したと言っていることを理解し、やっている – Favolas