Przypisanie obiektu Java

Jestem nowym użytkownikiem Java i mam kilka pytań dotyczących przypisania obiektów. Na przykład,

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

Zakładając zmiennąi jest zdefiniowany wewnątrz klasy Test, czy mam prawo założyć, że zarówno t1, jak i t2 wskazują ten sam obiekt, w którym dokonano modyfikacjit1.i=1 dotyczy obut1 it2? Właściwie to przetestowałem i wydaje mi się, że miałem rację. Jednak kiedy próbuję tego samegoString, modyfikacja odbywa się tylko z jednej strony, przy czym druga strona pozostaje bez zmian. Jaka jest tego przyczyna?

Edytuj: Sprawa, którą wypróbowałem za pomocą String.

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

Zdaję sobie sprawę z mojego błędu, testując przypadki na String, ponieważ są one niezmienne. Sytuacja, w której myślałems1="1" zmodyfikuj ciąg, zwracając w rzeczywistości odniesienie „1” do s1. Niemniej jednak pozostaje moje pytanie. RobiTest t2 = t1; bo zarówno punkt t2, jak i t1 do tego samego obiektu lub każdy z nich ma teraz swoje własne obiekty? Czy ta sytuacja dotyczy wszystkich obiektów na Javie?

questionAnswers(6)

yourAnswerToTheQuestion