一、内存对象示意图
1. 一个内存对象
2. 多个内存对象
3. 同一个内存对象
二、成员变量和局部变量的区别
不同点 | 成员变量 | 局部变量 |
---|---|---|
定义的位置 | 类中 | 方法中 |
内存中的位置 | 栈 (Stack) | 堆(Heap) |
默认值 | 有默认值 | 无默认值 必须赋值 |
生命周期 | 随着方法的进栈而出现 随着方法的出栈而消失 | 随着对象被创建而存在 随着对象被 JVM 回收而消失 |
不同点 | 成员变量 | 局部变量 |
---|---|---|
定义的位置 | 类中 | 方法中 |
内存中的位置 | 栈 (Stack) | 堆(Heap) |
默认值 | 有默认值 | 无默认值 必须赋值 |
生命周期 | 随着方法的进栈而出现 随着方法的出栈而消失 | 随着对象被创建而存在 随着对象被 JVM 回收而消失 |