如何在多个类之间传递对象? Java的
public class FooClass { BarClass bar = null; int a = 0; int b = 1; int c = 2; public FooClass(BarClass bar) { this.bar = bar; bar.setFoo(this); } } public class BarClass { FooClass foo = null; public BarClass(){} public void setFoo(FooClass foo) { this.foo = foo; } }
别处…
BarClass theBar = new BarClass(); FooClass theFoo = new FooClass(theBar); theFoo.a //should be 0 theBar.foo.a = 234; //I change the variable through theBar. Imagine all the variables are private and there are getters/setters. theFoo.a //should be 234 <-----
如何将对象传递给另一个类,进行更改,并将更改显示在第一个对象的原始实例中?
要么
如何创建一个循环,其中一个类的更改反映在另一个类中?
这已经完全是对象如何在Java中工作。 您的代码已经完成了您想要的任务。
当你将theBar
传递给FooClass
构造函数时,它传递了theBar
的值,它是对BarClass
对象的引用 。 ( theBar
本身是通过值传递的 – 如果你写了foo = new FooClass();
在BarClass
构造函数中,这不会改变theBar
引用的对象theBar
是严格按值传递的,只是值通常是引用。)
当您使用theBar.foo.a
更改该对象中的值时,使用theFoo.a
再次查看a的值将看到更新的值。
基本上,Java不会复制对象,除非您真的要求它。