Es ist ein Code:Klasse Daten Mitglied ändert sich nicht nach der Abtretung
class A {
int x = 12;
}
public class Program {
public static void main(String [] args) {
A a = new A();
int d = 10;
a.x = d;
System.out.println("a.x: " + a.x + ", d: " + d);
d = 52;
System.out.println("a.x: " + a.x + ", d: " + d);
}
}
Die Ausgabe lautet:
a.x: 10, d: 10
a.x: 10, d: 52
Warum a.x
ändert sich nicht? Wie ich während der Zuweisung verstehe, wird der linke Wert als Referenz für den richtigen Wert genommen, und wenn der rechte Wert danach geändert wird, muss sich auch der linke Wert ändern. Warum passiert das nicht?
"Wie ich während der Zuweisung verstehe, nimmt der linke Wert eine Referenz des richtigen Wertes, und wenn der rechte Wert danach geändert wird, muss sich auch der linke Wert ändern." Was bringt dich dazu, das zu denken? Der Zuweisungsoperator kopiert einfach den Wert von der rechten Hand des Bedieners in die Variable auf der linken Seite (mit beliebigen Umrechnungen wie benötigt). –
Ich lese so etwas in 'Thinking in Java' – luckystrrrike