The key is to recognize that object variables are just references to an object and not the object itself.
Then, object reference variables are passed by value just like any other variable.
Let's say we have these methods:
When
String person = "Elvis" and saySomething(person) are executed:
We can conclude that person and someone are two different
reference variables poiting to the same object.
Then after
String someone = "Hello "+someone Altering the variable reference of someone will not alter the reference value of hello. Hence we can conclude that references are passed by value, altering the reference of an argument will not alter the reference of the actual parameter.
I hope this helps.
[ April 16, 2006: Message edited by: Edwin Dalorzo ]