Java is pass by value - always.
You pass references, not objects. References are passed by value.
You can change the state of a mutable object that the reference points to in a function that it is passed into, but you cannot change the reference itself.