Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于静态变量_Java_Android_Static - Fatal编程技术网

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;