如何在多个类之间传递对象? 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不会复制对象,除非您真的要求它。