有人可以举例说明您何时在private static
字段上使用private static final
字段?我很难想到你想要声明一个private
类变量的例子,这个变量可能会发生变化。
答案 0 :(得分:10)
输入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;
}
}
答案 1 :(得分:7)
是。
例如,当您想要一个计数器变量来计算从一个类创建了多少个对象时,您将使它static
- 它与该类相关联而不是一个对象,但它 final
因为它正在发生变化:
protected static int counter = 0;
//constructor
counter++;
值得一提的是:
我没有提到Singleton示例,因为如果您想要线程安全,那么变量必须是static
和final
。