gpt4 book ai didi

java - 从对象内部改变对象

转载 作者:行者123 更新时间:2023-12-01 19:33:11 27 4
gpt4 key购买 nike

如果一个对象位于另一个对象内部,我如何操作它所在的对象

我的意思写在下面的简单例子

我怎样才能让鼠标操纵笼子变量(降低笼子强度)。

public class Cage{
public Cage(){
cageStrength = 1;
Mouse foo = new Mouse ();
foo.eat();
}
public void changeCageStrength(){
cageStrength--;
}
}

}
public class Mouse{

if(condition){
eatPartOfCage();
}
}
public void eatPartOfCage(){
decrease cage strength;
}

最佳答案

除了 Mouse fooCage 构造函数中的变量这一事实之外,您还需要建立一种关系。例如,

public class Cage {
private Mouse foo;
private int cageStrength;
public Cage() {
cageStrength = 1;
foo = new Mouse(this);
}
public void changeCageStrength() {
cageStrength--;
}
}

然后你的Mouse foo可以调用eat()中的Cage.changeCageStrength(),就像

public class Mouse {
private Cage cage;
public Mouse(Cage cage) {
this.cage = cage;
}
public void eat() {
cage.changeCageStrength();
}
}

关于java - 从对象内部改变对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58896722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com