【发布时间】:2011-11-06 15:26:23
【问题描述】:
所以我的问题是这样的。我有一个名为Globals 的类,其中包含我在整个程序中需要的所有变量。它适用于字符串、整数和其他可以使用= 操作的东西。例如:
public class Globals {
public static int globalInteger = 23;
public static String globalString = "Hello, dude.";
public static UserProfile globalUserProfile;
}
在项目的某个地方,我使用这些访问它们:
Globals.globalInteger += 17;
Globals.globalString = "Why, hello there!";
但是,我正在尝试将自己编写的课程设为全球性 (UserProfiles.class)。这个类不使用= 操作,因此,当我从其他地方访问它并得到java.lang.nullPointerException 时,它总是null。例如,如果我这样做(newProfile(String) 是UserProfiles.class 中的一个方法):
Globals.globalUserProfile.newProfile(profileName);
我收到java.lang.NullPointerException。如何让我的 UserProfile.class 变量在整个项目中都可以访问?提前致谢。
【问题讨论】:
-
只是为了记录,“全球”的模式(尤其是
+= 17shudder)不是一个好的模式。见stackoverflow.com/questions/4646577/global-variables-in-java -
哦,我明白了。我对 Java 还是很陌生,但我仍然对一些基础知识感到困惑。我会读到的。谢谢。
-
如果您编辑您的问题以解释 为什么 您要这样做,并给出一些您认为需要在全球范围内存储的值的真实示例,人们可以发表评论了解实现目标的更好方法。
标签: java global-variables