Some people will say incorrectly that objects are passed "by reference." In programming language design, the term pass by reference properly means that when an argument is passed to a function, the invoked function gets a reference to the original value, not a copy of its value. If the function modifies its parameter, the value in the calling code will be changed because the argument and parameter use the same slot in memory. The Java programming language does not pass objects by reference; it passes object references by value. Because two copies of the same reference refer to the same actual object, changes made through one reference variable are visible through the other. There is exactly one parameter passing mode -- pass by value -- and that helps keep things simple.
Pass by Value
In Java methods, arguments are passed by value.
When invoked, the method receives the value of the variable passed in. When the
argument is of primitive type, pass-by-value means that the method cannot change
its value. When the argument is of reference type, pass-by-value means that the
method cannot change the object reference, but can invoke the object's methods
and modify the accessible variables within the object.
This is often the
source of confusion--a rogrammer writes a method that attempts to modify the
value of one its arguments and the method doesn't work as expected. Let's look
at such method and then investigate how to change it so that it does what the
programmer originally intended.
Quotation from The Java Tutorial
Ack! No! Java does not pass objects! Java passes object pointers by value!!!
Objects in Java are passed by reference.
*Banging head on desk* No, it's a new-fangled language named after some island near Australia.
Is that C program?? I Know C++ but not C. Do they use system.out.println() in C also??
Originally posted by Thomas Paul:
Ack! No! Java does not pass objects! Java passes object pointers by value!!![/b]
Originally posted by Roseanne Zhang:
The more jargon you are using, the more confusing you are getting.
I'm sorry to say, it also confuses yourself too.