- 静态变量随着类的加载而存在,随着类的消失而消失。作用在类中,方法外;
- 成员变量随着对象的创建而存在,随着对象被回收而释放。作用在类中,方法外;
- 局部变量随着方法的创建而存在,随着方法被回收而释放。作用方法中,或者方法的形式参数;
总结:
成员变量 | 局部变量 | 静态变量 | |
---|---|---|---|
定义位置 | 在类中,方法外 | 方法中,或者方法的形参 | 在类中,方法外 |
初始化值 | 有默认初始化值 | 无,先定义,赋值后才能使用 | 有默认初始化值 |
调用方式 | 对象调用 | — | 对象调用,类名调用 |
存储位置 | 堆中 | 栈中 | 方法区 |
生命周期 | 与对象共存亡 | 与方法共存亡 | 与类共存亡 |
别名 | 实例变量 | — | 类变量 |