Cerca di capire bene il concetto di cui stiamo parlando perchè è fondamentale. Nel passaggio di parametri succede la stessa cosa:
- se il parametro è di tipo primitivo si passa per valore e quindi ne viene fatta una COPIA esatta!
- se il parametro è un oggetto viene passata la copia del RIFERIMENTO e non di tutto l'oggetto!
esempio:
public void metodo1(){
Oggetto ogg = new Oggetto();
metodo2(ogg);
ogg.AggiungiElemento("a");
//fine
}
public void metodo2(Oggetto o){
o.AggiungiElemento("b");
}
Alla fine troverai nell'oggetto sia "b" che "a". Questo proprio per il fatto che "o" è una copia di "ogg" (che sono due riferimenti allo stesso oggetto...immaginatele pure come due frecce che puntano allo stesso scatolotto).

Rispondi quotando