gpt4 book ai didi

java - 如何从另一个方法访问我在主方法中实例化的对象?

转载 作者:行者123 更新时间:2023-12-01 17:32:53 26 4
gpt4 key购买 nike

我确信我错过了一些愚蠢的东西,这是我的代码:

public class clearBlankGrid {

public static void main(String args[]) {

Monster myMonster = new Monster(10,10,5,5,1);
MonsterGUI myGUI = new MonsterGUI(myMonster);

if (myMonster.getRows() > 0) {
// 0 = North, 1 = East, 2 = South, 3 = West
myMonster.setFacing(3);
myMonster.setIcon();
}

}

public static void keepClearing() {

myMonster.isGridCleared(); // Cannot find symbol 'myMonster'

}

}

最佳答案

myMonster 如果您想在 keepClearing 方法(静态)中访问它,则需要是静态成员。

注意:作为引用,您还可以通过实际实例化 clearBlankGrid 类来避免将 Monster 成员设为静态。然后,Monster 可以是 clearBlankGrid 的实例变量,这意味着 keepClearing 方法不再必须是静态的。

public class clearBlankGrid {

private Monster myMonster;
private MonsterGUI myGUI;

public void run() {
myMonster = new Monster(10,10,5,5,1);
myGUI = new MonsterGUI(myMonster);

if (myMonster.getRows() > 0) {
// 0 = North, 1 = East, 2 = South, 3 = West
myMonster.setFacing(3);
myMonster.setIcon();
}
}

public void keepClearing() {
myMonster.isGridCleared();
}

public static void main(String args[]) {
clearBlankGrid blankGrid = new clearBlankGrid();
blankGrid.run();
}
}

关于java - 如何从另一个方法访问我在主方法中实例化的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9303412/

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