1、成员变量随着
对象的创建而存在,随着
对象的被回收而释放。
静态变量随着
类的创建而存在,随着
类的消失而消失。
从这可以得出,两种变量的生命周期不同,这也是静态变量的弊端,即生命周期长。
2、调用方式不同:
成员变量只能被对象所调用;而静态变量既可以被对象所调用,还可以被类所调用,推荐使用类调用。
3、别名不同:
成员变量也称为实例变量;静态变量称为类变量。
4、数据的存储位置不同:
成员变量存在
堆内存的对象中,所有也叫对象的特有数据;静态变量数据存在
方法区(也称:数据区、共享区、共享数据区等)的静态区中,所有也叫对象的共享数据。