如何在Java中从多个类访问同一对象
我整天都在寻找这个问题的答案 我有一个value类,只要程序在运行,它就会保存各种各样的值 我在类a中创建一个新的值对象,并存储一个int值如何在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”返回 我知道通过创建一个对象,我会自动创建一个新的值对象,它具有默认的货币值。所以基本
类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();
}
}