我正面臨着java類的一些問題。java類和用於插入名稱的循環
這裏是我定義
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;
}
}
,並在主要的一類我有這個
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]);
}
}
可正常工作的印刷本: Mike0 Mike1 空 空 空 空 null null null 空
保持相同的類,但通過
name.setName(aName);
names[i] = name;
System.out.println("------");
System.out.println(names[i]);
System.out.println("------");
它打印
------
Mike0
------
------
Mike1
------
Mike1
Mike1
null
null
null
null
null
null
null
null
改變
name = new Condutor(aName);
names[i] = name;
我可以看到,在環路一切正常,但名字陣列在前兩個位置存儲最後一個輸入。
爲什麼會發生這種情況? 不應該像循環一樣存儲?
問候,
Favolas
謝謝。現在我明白了,做你說的解決了問題 – Favolas