Java Glossary : call by reference

CMP home Java glossary home Menu no menu Last updated 2004-06-28 by Roedy Green ©1996-2004 Canadian Mind Products

Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

You are here : home : Java Glossary : C words : call by reference.

call by reference
When you call a method by reference, the callee sees the caller's original variables passed as parameters, not copies. References to the callee's objects are treated the same way. Thus any changes the callee makes to the caller's variables affect the caller's original variables. Java never uses call by reference. It always uses call by value.

How do you fake call by reference in Java, or more precisely, how can a callee influence the values of it's caller's variables?

Dale King points out that attempts to fake call by reference are usually a sign of poor object-oriented design. A function should not be trying to return more than one thing and that is what the return value is for. He uses the term thing because it is proper to return more than one value (e.g. returning a Point that contains two values). If you are trying to return two values, the test he like to apply is whether you can come up with a logical name for the values as a group. If you can't, you had better look to see if maybe you what you have is really two functions lumped together.


CMP logo
CMP_home
home
Canadian Mind Products CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[24.87.56.253]
Your IP:[80.134.30.163]
You are visitor number 6291.
Please send errors, omissions and suggestions
to improve this page to Roedy Green.
You can get a fresh copy of this page from: or possibly from your local J: drive mirror:
http://mindprod.com/jgloss/callbyreference.html J:\mindprod\jgloss\callbyreference.html