如何绑定两个对象的引用?

时间:2016-04-13 09:12:33

标签: java object reference

如果我有2个物体

Foo foo;
Foo bar = foo;

他们最初都指向null。

如果foo初始化

foo = new Foo();

bar引用null,但我想要它 与foo绑定。

所以每次改变foo引用 影响条形参考是相同的。

有没有办法自动完成 让bar指向相同的地址 foo,

即使它改变了,或者我有 手动调用它?

foo = new Foo();
bar = foo;

3 个答案:

答案 0 :(得分:1)

foobar都不是真正的对象,而是对象的引用。

在您的初始声明中,您将两者都设置为未定义,或者更准确地foo 未定义,并且您将bar设置为相同的值。但是,即使您已初始化foo,答案也是一样的。

当您将foo的值设置为新对象(new Foo)时,您仍然未定义bar

所以答案是肯定的,你必须手动完成。

答案 1 :(得分:1)

您可以通过创建类似指针类的方法来使用解决方法。

Pointer<Foo> foo = Pointer.nullPointer(); //target=null
Pointer<Foo> bar = foo;           //bar now also "points" to null
foo.setTarget(new Foo()); //now BOTH have the new object as the target

你可以像这样使用它:

$().alert('close')

答案 2 :(得分:0)

Java是按值传递,而不是按引用传递。 bar的引用不应与foo相同