gpt4 book ai didi

java - 如果所有代码都在 run() 方法内,如何关联实例变量?

转载 作者:行者123 更新时间:2023-12-01 10:54:10 24 4
gpt4 key购买 nike

我应该创建一个游戏,并且我们被赋予了创建游戏的自由……但我不知道我在做什么。我复制了之前实验的格式,因为我需要一种运行它的方法,但现在我遇到了问题。我的 Gui 类如下:

public class Gui implements Runnable {
public Gui() { }
ArrayList<Tile> _al;

@Override
public void run() {
//where I want the _al variable to be used
}
}

我复制的代码使用 Driver 类来运行此方法:

public class Driver {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Gui());
}
}

我们没有在类里面讨论过这个方法,但是通过谷歌搜索我了解到这是程序运行所必需的。实验室的难度大幅增加,所以我现在迷失了方向。我确信有一种简单的方法可以格式化所有代码,但我不知道 run 方法和 main 之间的关系是什么,或者如何在我的代码中建立关​​联关系。我搜索过的内容都没有真正帮助,所以我希望这个问题没问题。

如果所有代码都在 run() 方法中,如何关联实例变量?

最佳答案

您可以使 Gui 采用构造函数参数以允许共享状态更新:

public class Gui implements Runnable {
private final List<Tile> tiles;

public Gui(List<Tile> tiles) {
this.tiles = tiles;
}

@Override
public void run() {
tiles.add(new Tile());
}
}

并修改驱动程序以使用它:

public final class Driver {
public static void main(String[] args) {
List<Tile> tiles = new ArrayList<Tile>();
SwingUtilities.invokeLater(new Gui(tiles));
}
}

关于java - 如果所有代码都在 run() 方法内,如何关联实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33715689/

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