Java-Objektzuweisung

Ich bin neu in Java und habe einige Fragen zur Objektzuordnung. Zum Beispiel,

Test t1 = new Test();
Test t2 = t1;
t1.i=1;

Angenommene Variablei Wird innerhalb der Testklasse definiert, darf ich annehmen, dass sowohl t1 als auch t2 auf dasselbe Objekt zeigen, an dem die Änderung vorgenommen wurdet1.i=1 betrifft beidet1 undt2? Eigentlich habe ich es ausprobiert und es scheint, als hätte ich recht. Allerdings, wenn ich das Gleiche anprobierenStringGeschieht die Änderung nur auf einer Seite, auf der die andere Seite nicht betroffen ist. Was ist der Grund dafür?

Edit: Der Fall habe ich mit String versucht.

String s1 = "0";
String s2 = s1;          
s1 = "1";
System.out.println(s1);
System.out.println(s2);

Ich erkenne meinen Fehler, indem ich die Fälle auf String teste, da sie unveränderlich sind. Die Situation, in der ich gedacht habes1="1" Wenn Sie die Zeichenfolge ändern, wird die Referenz "1" an s1 zurückgegeben. Trotzdem bleibt meine Frage. TutTest t2 = t1; Zeigen sowohl t2 als auch t1 auf dasselbe Objekt oder haben jetzt beide ihre eigenen Objekte? Gilt diese Situation für alle Objekte in Java?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage