【发布时间】:2020-01-07 22:42:07
【问题描述】:
我正在尝试编写一个代码,其中主类(具有 main 方法的类)需要播放音乐,而另一个类中名为“运行”的变量为真。但是如果运行时变量为假,主类中的变量仍然为真。这是我的代码的 sn-p。
public static void main(String[] args) {
Game game = new Game("Geometry Dash", 700, 600);
game.start();
System.out.println(Game.running);
do {
GameState.runMusic();
}while(Game.running);
}
代码真的无关紧要。相反,我试图找到一种方法让我的主类意识到另一个类中的变量已变为假(因此已更改)。
【问题讨论】:
-
在 Java 中没有内置的方法可以做到这一点,但你应该看看观察者模式。
-
您需要研究“观察者模式”。你可能还想看看
volatile -
这样做的方法不止一种,而是无数种。我会删除另一个类的需要这个词。但是有一整套原语可以做到这一点,但是要寻找的几个关键字是并发性和并行性。
-
你可能想看看PropertyChangeSupport
-
正如其他人指出的那样,您需要实现Observer Pattern 的东西。您可以通过定义 Java 接口并让您的“观察者”类实现它来“自己动手”。更好的是,你可以使用标准的Java类“java.util.Observable”:How to create change listener for variable?
标签: java