Java passes a copy of the method reference. The link still points to the same instance.
Imagine if I had a sheet of paper with the address of the restaurant. You also want to go to the same restaurant so that I receive a new sheet of paper and copy the restaurant address onto this paper and give it to you. Both sheets of paper point to the same restaurant, but they are separate references to the copy.
The restaurant itself is not duplicated, only a link to it is duplicated.
Jon Skeet provides a similar analogy :
Balloon analogy
, , . , , , . , , , . ( ) , . string ( ) - .
:
Object o = new Object();
foo(o);
void foo(Object obj) {
}