关于静态变量

时间:2014-01-07 14:24:21

标签: java android static

int a;
static int a;

两者都采用相同的内存

我今天刚刚来到这里,我不知道这样做的使用::

private static final float INDICATOR_RADIUS = 1.0f;

这与

相同
private final float INDICATOR_RADIUS = 1.0f;

我不明白为什么他们(http://developer.samsung.com/android/samples/Golf)这样做了?他们多次使用

5 个答案:

答案 0 :(得分:7)

int a;
static int a;
  

两者都采用相同的内存

不,他们没有。第一个占用类的每个实例的四个字节。第二个占用四个字节,无论是0个实例还是100个实例。该字段与类型相关,而不是与该类型的任何特定实例相关。

答案 1 :(得分:1)

只是因为他们希望static变量在所有对象中都有一个实例。

答案 2 :(得分:0)

一个简单的答案是static变量具有单个值全整数。 详细地说,静态变量为每个对象保持相同的值。并且静态变量与java类相关联,而不像与类的每个对象相关联的局部变量

了解更多详情,请点击Java tutorial

答案 3 :(得分:0)

你应该从JAVA的基础开始。

静态变量是与类关联的变量,而不是该类的对象。可以通过使用类名调用来访问静态变量:ClassName.VariableName。

答案 4 :(得分:0)

非静态字段对于每个实例都是唯一的,它被称为 instance 字段。但是, static 字段是 Class 字段,这些字段由该类的所有实例共享两个字段的内存都相同,无论是声明为静态还是非静态