ma quindi se come pensavo i due oggetti (il reference non lo è ma passiamola sta cosa) diventano in pratica la stessa cosa, a che mi serve creare un reference visto che sull'originale posso fare tutto quello che voglio?
ma quindi se come pensavo i due oggetti (il reference non lo è ma passiamola sta cosa) diventano in pratica la stessa cosa, a che mi serve creare un reference visto che sull'originale posso fare tutto quello che voglio?
Innanzitutto un reference non è un oggetto ... è un valore. Ed è quel valore che permette alla Java Virtual Machine di referenziare ed accedere ad un oggetto.
Poi nel tuo esempio di prima non hai 2 oggetti Persona. Ne hai solo uno.
Dipende ... in certi casi potrebbe essere utile. In una variabile potresti voler tenere il riferimento ad un oggetto Persona "originale" e in un'altra variabile inizialmente quello ma che poi può cambiare in base a della logica.
Non stare adesso a chiederti "a che serve". Può servire. È perfettamente lecito. E poi tieni presente che quando passi un reference ad un metodo/costruttore, esso riceve una copia del valore del reference. Quindi si è di nuovo nel caso in cui il chiamante ha un certo reference e il metodo/costruttore invocato ha un parametro (che alla fin fine è una variabile locale) con lo stesso valore.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet