2017-09-14 53 views
-5

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

+0

这是相当意见的基础和广泛的你不觉得吗? –

+0

当您在某个级别上有一些您需要的值时。例如,如果你有一些静态方法,那么你的值也需要是静态的。 –

回答

2

使用静态变量的点与最终的点不一样。

最终声明的变量(静态或非静态)不能修改。它们通常用作“参考值”或常量。

因此需要静态变量(和方法)作为“共享内容”。例如,说办公室里的每个人都喜欢喝咖啡。我们每个人都带着自己的咖啡机好吗?还是我们更好地为整个办公室共用一台这样的机器?

显然你想选择共享选项。在编程习惯用法中,这将转化为Office类中代表唯一CoffeeMachinestatic变量。

题外话但肯定你不想让这台咖啡机final。如果有人破坏它会怎样?您需要替换它,从而更改变量。

0

当只需要一个变量副本时使用静态变量。所以如果你在方法中声明变量没有使用这样的变量,它只会变成本地函数..

声明为静态的变量通常在类的所有实例中共享。

1

static表示该变量在该对象的所有实例中都是相同的。

主要的例子是一个对象计数器。

class foo{ 

    private static int count = 0; 

    public foo() 
    { 
     count ++; 
    } 

    public static getCountOfObj() 
    { 
     return count; 
    } 
} 

因此,您可以在所有foo-Objects上对其进行编辑。

+0

请不要使用对维基百科 –

+0

的引用好吧,我删除它:) – Baum

0

我假设你的意思是静态字段。

static字段与的类相关联,而实例字段被关联到一个对象(又名类实例)。

如果一个字段被标记为final(适用于实例和静态字段),那么它不能被重新分配

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

相关问题