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)这样做了?他们多次使用
答案 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 字段,这些字段由该类的所有实例共享。 两个字段的内存都相同,无论是声明为静态还是非静态