Back in the days in which we taught using Pascal, it was necessary to distinguish between parammeter passing by "value" and by "reference". Michael Clancy at Berkeley developed a nice illustration using Frisbees, which was a very popular toy among college students at the time.

At
the sender.
As
received by the receiver.
Modified
by the receiver.
Back
at the sender.
At
the sender.
At
the sender.
At
the sender.
Changed
by the receiver.
Back
at the sender. Note, however, that while this does illustrate these two parameter passing mechanisms, it is less satisfactory for use in a language like Java which has only pass by value. In Java, objects are NOT passed by reference. Instead, a reference to an object is passed by value. That reference may be used to access the object in any way that the object permits, but the reference itself may not be changed from the viewpoint of the sender. If the receiver changes the reference, then a different object may be referenced within the function, however.
Last Updated: July 22, 2000