我想问一下类中的静态变量是否会为初始化的类添加额外的内存。
假设我有这样一个类:
public class Sample{
public static String NAME[] = {"1", "2", "3", "4"};
private int id;
private String uuid;
private String name;
public void setUuidString() {
UUID uuid = UUID.randomUUID();
this.uuid = uuid.toString();
}
public void setName(String name) {
this.name = name;
}
public void setCustomUuid(String uuid) {
this.uuid = uuid;
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public String getUuid() {
return uuid;
}
public String getName() {
return name;
}
}
我多次创建 Sample 类并对其进行初始化并添加到 Sample 类的数组中,静态变量是否会为该类添加额外的内存,或者当它是静态时它只会获得一个内存位置?
最佳答案
由于 static
变量在程序执行开始时被初始化,因此为变量预留了内存。由于变量是static
,它属于它的类而不是类的实例。因此,对于您创建的每个实例,它都不会使用额外的内存。
对于 static
变量,变量的单个实例在类的所有实例中共享,尽管您不需要类的实例来访问变量。
关于java - 类java中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34661601/