【JAVA】JAVA中的静态变量、全局变量
在Java中,没有所谓的“全局变量”,但可以通过static关键字来模拟全局变量的行为。static变量在Java中称为静态变量或类变量,它属于类而不是类的某个特定实例。
解决方案1:使用静态变量
public class MyClass {
public static int myStaticVar = 0;
}
// 更新静态变量
MyClass.myStaticVar = 10;
// 访问静态变量
int value = MyClass.myStaticVar;
解决方案2:使用单例模式
如果你想要有一个全局可访问的对象,你可以使用单例模式。
public class MySingleton {
private static MySingleton instance = null;
private int myVar;
// 私有构造函数,不能从外部进行实例化
private MySingleton() {
myVar = 0;
}
// 获取单例对象的方法
public static MySingleton getInstance() {
if (instance == null) {
instance = new MySingleton();
}
return instance;
}
// 设置变量的方法
public void setMyVar(int val) {
this.myVar = val;
}
// 获取变量的方法
public int getMyVar() {
return this.myVar;
}
}
// 设置变量
MySingleton.getInstance().setMyVar(10);
// 获取变量
int value = MySingleton.getInstance().getMyVar();
在这个例子中,MySingleton
类有一个私有构造函数,这意味着不能从外部创建MySingleton
类的新实例。getInstance
方法负责提供MySingleton
类的唯一实例。myVar
是一个实例变量,可以全局访问,但只能通过getInstance
方法获取的实例进行访问。
评论已关闭