本帖最后由 黄树人 于 2012-9-22 10:57 编辑
在书上看了一个例子,如下:
public class VariantTest
{
public static int staticVar = 0;
public int instanceVar = 0;
public VariantTest()
{
staticVar++;
instanceVar++;
System.out.println(“staticVar=” + staticVar + ”,instanceVar=” + instanceVar);
}
}
无论创建多少个实例对象,永远都只分配了一个staticVar变量,
并且每创建一个实例对象,这个staticVar就会加1;
但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。
我不是很理解
对上面的话,我理解的是,staticVar是静态变量,就只在栈里面创建了一个变量,而其他new出来的全部都是在堆里面创建的
如果不是这样理解,那应当如何理解呢
|