In Java il passaggio degli argomenti a costruttori/metodi è sempre per valore, sia per tipi primitivi che reference. Se è un reference, viene passata una copia del valore del reference (non una copia dell'oggetto!).
pippo e pluto sono due variabili ben distinte, pippo è una variabile "locale" nel metodo chiamante mentre pluto è un parametro di chiamato ma sostanzialmente è anch'essa una variabile "locale" in chiamato.codice:public static void chiamante() { int pippo = 10; chiamato(pippo); } public static void chiamato(int pluto) { pluto = 20; }
Quando chiamato inizia la esecuzione, pluto ha il valore 10, che è appunto una copia del valore che ha il chiamante.
Assegnare qualcosa a pluto NON può cambiare quello che ha il chiamante (ovvero ciò che contiene pippo).


Rispondi quotando
