Well you can say that. Probably Java guys wanted to keep a cleaner image, so they said every thing is passed by value 😁
At the deepest technical level all languages are pass by value. But some want to make distinction.
It's a bit strange though, isn't it?
I mean, when you pass something by reference/pointer in C/C++, you normally have mainly two reasons:
1.) You don't want to waste resources copying large objects,
2.) You want to modify the thing you pass as an argument.
Aren't passed objects in Java accomplishing exactly that?
So why would you go out of your way to call something the opposite of what it is?
Yes they do. I think It's more of a language propaganda. Something like look no pointers, no reference (C++ style) just pass the object and modify it if you want. But you have only two options either copy the whole object (which they could not afford as java is already memory heavy) or copy the reference and keep track internally.
According to the below link, if you want to swap objects within a method in Java, you have to use wrapper classes.
Java is always works on "pass by value" and it doesn't support the use of point to refer the value address
Because the memory allocation and deallocation work automatically.Then the address can't be referred.
But u can use object reference to call the value , not to refer it