如何在Java中从多个类访问同一对象

如何在Java中从多个类访问同一对象,java,object,reference,Java,Object,Reference,我整天都在寻找这个问题的答案 我有一个value类,只要程序在运行,它就会保存各种各样的值 我在类a中创建一个新的值对象,并存储一个int值 类A还有一个printMoney()方法 在类B中,我希望能够从类A中调用printMoney(),因此逻辑上我执行以下操作: public class B { A a = new A(); a.printMoney(); } 但是,这会将“0”作为值而不是“100”返回 我知道通过创建一个对象,我会自动创建一个新的值对象,它具有默认的货币值。所以基本

我整天都在寻找这个问题的答案

我有一个value类,只要程序在运行,它就会保存各种各样的值

我在类a中创建一个新的值对象,并存储一个int值
类A还有一个printMoney()方法

在类B中,我希望能够从类A中调用printMoney(),因此逻辑上我执行以下操作:

public class B {
A a = new A();

a.printMoney();
}
但是,这会将“0”作为值而不是“100”返回


我知道通过创建一个对象,我会自动创建一个新的值对象,它具有默认的货币值。所以基本上我的问题是,;如何解决此问题?

将对象设置为静态<代码>静态值=新值()

  • 静态
    变量在所有对象之间共享
  • 因此,在
    static
    变量中所做的更改将反映在类的所有对象中

如果您想在中获得该值,则必须在构造函数中指定该值,如

public class A {
  Value value = new Value();

  public A() {
     this.value.setMoney(100);
  }

否则,您可以将值设为static

您应该接收创建对象B的实例并保存它,然后您就可以调用它了 像这样:


什么是
value.getMoney
?这不是方法调用,您还没有显示
值的代码。我怀疑问题就在那里。Concur..行值。setMoney(100);在方法外部和类标头中。这甚至可以编译吗?我选择使它成为静态的。谢谢你的回答。
public class A {
  Value value = new Value();

  public A() {
     this.value.setMoney(100);
  }
public class A {
    B b = new B(this);
}

public class B {
    A a;

    public B(A a) {
        this.a = a;
    }

    private someMethod () {
        a.printMoney();
    }
}