繁体   English   中英

私有静态字段不是最终的?

[英]private static field that is not final?

有人可以给我的时候,你会使用一个例子private static字段在private static final场? 我很难想到一个例子,当你想要声明一个private类变量时,它可能会发生变化。

输入Singleton模式:

public class Clazz {

    public static void main(String[] args) {
        MyObject myObject = MyObject.getInstance();
    }
}

class MyObject {
    private static MyObject instance; 
    //I belong to the class, but I need not be created before somebody wants me.

    private MyObject() {
    }

    public static MyObject getInstance() {
        if (instance == null) {
            instance = new MyObject();
        }
        return instance;
    }
}

是。

例如,当你想要一个计数器变量来计算从一个类创建了多少个对象时,你将它变为static - 它与类相关联而不是一个对象,但它不是 final因为它正在改变:

protected static int counter = 0;

//constructor
counter++;

值得一提的是:

我没有提到Singleton示例,因为如果你想要线程安全,那么变量必须是staticfinal

暂无
暂无

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

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