我想问一下,类中的静态变量是否会为初始化类添加额外的内存.
可以说我有这样一个类:
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
变量,变量的单个实例在类的所有实例中共享,尽管您不需要类的实例来访问变量.