我想知道为什么有时候我会看到带有静态变量的代码?什么时候使用静态变量而不是“普通”变量更好?如果它的值不是从一个istance变为另一个,那么使用final变量是不是更好?
答案 0 :(得分:2)
使用静态变量的观点与最终变量不同。
最终声明的变量(静态或非静态)无法修改。它们通常用作“参考值”或常量。
因此需要静态变量(和方法)作为“共享内容”。例如,办公室里的每个人都喜欢喝咖啡。每个人都带自己的咖啡机,我们会更好吗?或者我们是否最好为整个办公室共用一台这样的机器?
显然你想选择共享选项。在编程习语中,这将转化为在static
类中使用Office
变量来表示唯一CoffeeMachine
。
非主题但肯定你不想制作这台咖啡机final
。如果有人打破了怎么办?您需要替换它,从而更改变量。
答案 1 :(得分:1)
static 表示该变量在此Object的所有实例中都是相同的。
主要的例子是对象计数器。
class foo{
private static int count = 0;
public foo()
{
count ++;
}
public static getCountOfObj()
{
return count;
}
}
所以你可以在所有foo-Objects上编辑它。
答案 2 :(得分:0)
静态变量。因此,如果你在方法中声明变量,就不会使用这样的变量,它只会变成局部函数..
声明为static的变量通常在类的所有实例中共享。
答案 3 :(得分:0)
我假设你的意思是静态字段。
static
字段与类相关联,而实例字段则与对象(也称为类实例)相关联。
如果字段标记为final
(适用于实例和静态字段),则无法重新分配。
所以每个人都有自己不同的角色。