繁体   English   中英

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

[英]How to access the same object from multiple classes in Java

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

我有一个值类,只要程序正在运行,它就可以保存各种值。

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

public class A {
Value value = new Value(); 
value.setMoney(100);

public void printMoney {
System.out.println(value.getMoney);
}

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

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

a.printMoney();
}

但是,这确实将值“ 0”而不是“ 100”返回。

我了解通过创建一个A对象,可以自动创建一个具有其默认货币值的新值对象。 所以,基本上我的问题是; 我该如何解决?

使对象静态。 static Value value = new Value();

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

如果要在A中获得该值,则必须在A构造函数中分配该值,例如

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

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

否则,您可以将值设为静态

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

public class A {
    B b = new B(this);
}

public class B {
    A a;

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM