如何在java中创建一个非静态全局变量?

时间:2013-01-15 03:27:51

标签: java static global-variables

如果你点击暂停按钮,我正在使用java进行乒乓球游戏并且无法弄清楚如何暂停并观看手表:

fileItem5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
psd = true;

但我无法从其他课程中访问它。我宣布它为

public boolean psd;

但是当我在第二堂课上输入它时,它就给了我 “变量需要是静态错误”。

2 个答案:

答案 0 :(得分:1)

Java中没有“全局变量”这样的东西。

您可以使用Singleton来处理该行为。类的静态字段也会给你类似的行为(虽然你在你的问题中排除了这个选项)。

如果您没有多个线程读取和写入变量,并且 psd 在整个应用程序中应该有一个值(“全局变量”暗示),我的确会建议制作它静态的。

如果声明的类的每个实例都必须有一个单独的 psd 副本,我建议 fileItem5 必须引用类的定义是为了能够设置它。

答案 1 :(得分:1)

忘记单身人士,更好的是使用静态字段。没有其他可能性,只有这两个。