[英]Set private field with reflection works on static OR final, but not static final (combined)
[英]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示例,因为如果你想要线程安全,那么变量必须是static
和final
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.