• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Devaka Cooray
  • Liutauras Vilda
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Paul Clapham
  • Knute Snortum
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Ron McLeod
  • Piet Souris
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Frits Walraven
  • Ganesh Patekar

weird call by ref question

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Who could explain the Output to me?



I would have expected "10true10" instead of "10true20"
 
Ranch Hand
Posts: 45
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Everything in java is pass by value, so when you pass a reference into a function, you are getting a COPY of that reference (i.e. two references that point at the same thing).

In another(), v.i = 20 actually changes the original object. But when you say v = vh, you are making that reference point to something entirely different from what was passed in, so any modifications to that have no relationship with the v that object originally passed in.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!