Ho parecchia confusione sul tipo "reference" del libro Java5 di De Sio Cesari. Voglio capire se sto capendo (scusate il giochetto di parole) il concetto del codice seguente (c'è la classe Persona con una variabile Stringa "nome" che non scrivo qua).
Da quel che ho capito, con le righe 1 e 2 stiamo creando un oggetto della classe Persona assegnandogli il nome e fin qui tutto ok.codice:Persona persona1 = new Persona(); persona1.nome = "Mario"; Persona persona2 = persona1; persona2.nome="bò";
Nelle altre righe, considerando che non c'è il "new" non stiamo creando un altro oggetto, ma un reference, cioè un qualcosa di astratto che punta allo stesso indirizzo ram di "persona1", è giusto?
Ma a questo punto stiamo usando un passaggio per indirizzo come il C++ usando le classi piuttosto che i metodi che permettono solo il passaggio per valore?
Il problema che mi sono posto è: mettiamo ad esempio io voglia apportare delle modifiche, perchè usare questa cosa e non creare semplicemente dei metodi di classe? Non colgo l'utilizzo reale che se ne può fare.