Randall Twede wrote:all i can tell you is when passing parameters, everything in java is pass by value. so that even when you pass a reference(like "this" for example) you are still passing by value because the method gets a copy of the reference. you are not passing it the object but you are passing a separate reference to it. you can change that copy without changing the original.
not exactly what you asked, but along the same lines. i hope i explained that correctly.
I think the bolded part confused me -- "you can change that copy" is correct if you mean "you can change the reference" (as in the "copy of the reference" you refer to earlier). But someone struggling to understand pass-by-value could easily mistake that to mean "you can change the values in the object", and that, of course, is incorrect.
So you didn't really have it wrong, my apologies. Hopefully out of all of this the OP can figure out how it actually works...
rc