Объект существует, пока хотя бы одна ссылка указывает на него. Насколько мне известно, в Java нет оператора получения адреса "&"
Передача осуществляется простым присваиванием ссылок, типа
Dog Rex; // это просто ссылка
Dog Bob; // и эта просто ссылка
Rex = new Dog(); //ссылка указывает на объект
Bob = Rex; //две ссылки указывают на один объект
Rex = null; //ссылка никуда не указывает
Bob.bark(); //к объекту можно обратиться
Bob = null; //никто не указывает на объект, он становится добычей сборщика мусора