什么时候使用静态变量更好?

时间:2017-09-14 07:49:02

标签: java final static-variables

我想知道为什么有时候我会看到带有静态变量的代码?什么时候使用静态变量而不是“普通”变量更好?如果它的值不是从一个istance变为另一个,那么使用final变量是不是更好?

4 个答案:

答案 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(适用于实例和静态字段),则无法重新分配

所以每个人都有自己不同的角色。