原始数据类型的变量存放在栈还是堆,应该由上下文去决定。
如下所示的局部方法中,定义了本地变量a,且为原始数据类型,所以存放在栈中。
public void func(){ int a = 3; }
再如下所示类中,定义了局部变量a,且为原始数据类型,而类被创建为对象后,为引用类型,那么这个对象存放在堆中,同时局部变量a也会随这个对象存放在堆中。
public class Test{ public int a = 3; }
原始数据类型的变量存放在栈还是堆,应该由上下文去决定。
如下所示的局部方法中,定义了本地变量a,且为原始数据类型,所以存放在栈中。
public void func(){ int a = 3; }
再如下所示类中,定义了局部变量a,且为原始数据类型,而类被创建为对象后,为引用类型,那么这个对象存放在堆中,同时局部变量a也会随这个对象存放在堆中。
public class Test{ public int a = 3; }