爲什麼最後一條語句1010
的輸出?這是什麼類型的複製?深或淺?當=用於將一個對象分配給其他對象時,會發生複製類型
public class P {
int k;
public P() {
}
public static void main(String[] args) {
P p = new P();
P p1 = new P();
p1.k = 4;
p.k = 3;
System.out.println("" + p1.k + p.k);
p1 = p;
System.out.println("" + p1.k + p.k);
p.k = 9;
p1.k = 10;
System.out.println("" + p1.k + p.k);
}
}
您不能將一個對象分配給另一個對象,因爲「P p」和「P p1」是引用,而不是對象。您只能從一個到另一個分配參考。 –
但是,我間接地將對象賦值給引用,因爲如果我寫P p1,p2; p1 = p2;它會拋出一個錯誤... – Daredevil
您正在爲另一個引用分配一個引用。你得到一個錯誤,因爲你正在分配的引用沒有被初始化。 –