我有两门课:
public class A{
int money;
ArrayList<Item> boughtItems;
.
.
public void addBoughtItem(Item item){
.
.
}
public void adjustMoney(int adjustAmount){
money = money + adjustamount;
}
}
还有另一个类:
public class B{
ArrayList<Item> itemsForSale;
.
.
public Item sellMeItem(Item item){
.
.
return itemsForSale.get(...);
}
}
现在,在主体中,我启动了 A 类的一个实例和 B 类的一个实例。 在 B 类中,每当我向他们出售元素时,我想更新购买的元素并实时调整 A 类实例的金额(这意味着,在 B 类的 sellMeItem 函数中。) 因此我认为我需要 A 实例是全局的。 如何从 B 类 sellMeItem 函数内部访问 main 中的 A 对象? (B类实例也在main中)
最佳答案
Therefore I think I need the A instance to be global.
并非如此,您可以简单地将 A 实例的引用传递给 B,例如通过构造函数:
class B {
private A a;
public B(A a) {
this.a = a;
}
}
然后你就可以在 B 中访问 a
了。在你的 main 中:
A a = new A();
B b = new B(a);
但是,这两个类如此密切相关这一事实可能意味着您在它们之间划分职责的方式并不是最佳的。
关于java - Java 中的全局对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13866155/