繁体   English   中英

全局访问变量(Java)

[英]Accessing a variable globally (Java)

我正在开发一个Android应用程序,用户一度选择一个区域,然后更改应用程序所有部分的内容。 因此,我需要在整个程序中访问整数。 我已经考虑过一个单例类,但我无法弄清楚如何只添加一个int,一个get()和一个set()(我希望能够在任何地方读取并在两个类中编写(到处都很好) ))。

我应该简单地宣布它是全球性的吗?

这就是我现在要走的,好吗?

public enum Region {
INSTANCE;
private int rID =0;

public void setRID(int rID) {
    this.rID=rID;

}

public int getRID()
{
    return rID;
}

}

要访问

Region.INSTANCE.setRID(5);

这不是一个单身人士,而是一个静态类。 包含静态字段的类(不与实例绑定的字段):

public class StaticClass {

    private static int value;

    private Singleton () {}

    public static int getValue () {
       return value;
    }
    public static void setValue (int val) {
       value = val;
    }

}

您可以通过StaticClass.getValue()访问该值,并通过StaticClass.getValue(4)设置该值。 ('StaticClass不能被对象替换)。

私有构造函数阻止一个人偶然创建一个实例。

尝试类似的东西

public class State
{
     static State instance = new State ();
     public static State getInstance() { return instance; }

     private int value;
     public void setValue (int value) { this.value = value; }
     public int getValue () { return value; }
}

不要忘记在应用程序退出时存储您的值,并在重新加载时恢复它。

创建一个公共静态类,并将setter和getter声明为public。

我带着一个枚举:

public enum Region {
INSTANCE;
private int rID =0;

    public void setRID(int rID)
    {
        this.rID=rID;

    }

    public int getRID()
    {
        return rID;
    }
}

我访问的是哪个

Region.INSTANCE.getRID();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM