[英]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.