Quote Originariamente inviata da jimbo0 Visualizza il messaggio
se in chiamato() c'è interi[1]=99; modifico anche arr[], ho capito bene?
Sì, esatto.

Quote Originariamente inviata da jimbo0 Visualizza il messaggio
in java ci sono casi in cui quando si passa ad una funzione un oggetto/variabile questo rimane immutato nella funzione chiamante..
Questo riguarda solo il fatto che un oggetto sia "mutabile" oppure no. Dipende da come è fatta la classe. String ad esempio è immutabile ma semplicemente perché non c'è alcun metodo setQualcosa (o altro con qualunque altro nome) che va a modificare lo "stato" dell'oggetto ovvero le sue variabili di istanza.

In sostanza alla fin fine: il metodo/costruttore chiamato ha un reference uguale a quello che ha il chiamante. Non può cambiare le variabili locali nel chiamante ma se l'oggetto è "mutabile" può cambiarne lo stato.