成员变量、局部变量和静态变量的区别
| 成员变量 | 局部变量 | 静态变量 | |
| 定义位置 | 类中方法外 | 方法中或方法形参 | 类中方法外 |
| 初始化值 | 有默认初始化值 | 无,先定义,赋值后使用 | 有默认初始化值 |
| 调用方式 | 对象调用 | / | 对象调用、类名调用 |
| 存储位置 | 堆区 | 栈区 | 方法区 |
| 生命周期 | 与对象共存亡 | 与方法共存亡 | 与类共存亡 |
| 别名 | 实例变量 | / | 类变量 |
成员变量存储在堆中的对象里面,由垃圾回收器负责回收。
| 成员变量 | 局部变量 | 静态变量 | |
| 定义位置 | 类中方法外 | 方法中或方法形参 | 类中方法外 |
| 初始化值 | 有默认初始化值 | 无,先定义,赋值后使用 | 有默认初始化值 |
| 调用方式 | 对象调用 | / | 对象调用、类名调用 |
| 存储位置 | 堆区 | 栈区 | 方法区 |
| 生命周期 | 与对象共存亡 | 与方法共存亡 | 与类共存亡 |
| 别名 | 实例变量 | / | 类变量 |
成员变量存储在堆中的对象里面,由垃圾回收器负责回收。