Java 关于静态变量
两者都有相同的记忆 我今天刚到这里,我不知道这样做有什么用:Java 关于静态变量,java,android,static,Java,Android,Static,两者都有相同的记忆 我今天刚到这里,我不知道这样做有什么用: int a; static int a; 这和 private static final float INDICATOR_RADIUS = 1.0f; 我不明白他们为什么这么做?他们多次使用这个函数,仅仅是因为他们希望静态变量在所有对象中都有一个实例。一个简单的答案是静态变量在整个类中只有一个值。 具体来说,静态变量为每个对象保持相同的值。静态变量也与java类相关联,不像局部变量与类的每个对象相关联 有关更多详细信息,请按照操作
int a;
static int a;
这和
private static final float INDICATOR_RADIUS = 1.0f;
我不明白他们为什么这么做?他们多次使用这个函数,仅仅是因为他们希望
静态变量在所有对象中都有一个实例。一个简单的答案是静态变量在整个类中只有一个值。
具体来说,静态变量为每个对象保持相同的值。静态变量也与java类相关联,不像局部变量与类的每个对象相关联
有关更多详细信息,请按照操作。您应该从JAVA的基础知识开始
静态变量是与类关联的变量,而不是与该类的对象关联的变量。可以通过调用类名ClassName.VariableName来访问静态变量
private final float INDICATOR_RADIUS = 1.0f;
两者都有相同的记忆
不,他们没有。第一个类的每个实例占用四个字节。第二个占用4个字节,无论是0个实例还是100个实例。该字段与类型相关,而不是与该类型的任何特定实例相关。非静态字段对于每个实例都是唯一的,称为实例字段。但是,静态字段是由类的所有实例共享的类字段。这两个字段的内存都是一样的,要么声明为静态的,要么声明为非静态的我不喜欢“所有实例”的描述,因为这意味着必须有一个实例。。。更重要的是,变量与任何特定实例都没有关联。+1用于指出内存消耗之间的差异。
int a;
static int a;