【1】所属对象:
静态成员变量属于其所在的类,而非静态成员变量属于所在的对象;
【2】内存位置:
静态成员变量存放在方法区中的静态区,而非静态成员变量跟随对象存储在堆内存中;
【3】生命周期:
静态成员变量随着类的加载而加载,随着类的消失而消失,生命周期相对较长;
非静态成员变量跟着对象的加载而加载,随着对象的消失而消失。生命周期相对较短;
【4】调用方式不同:
静态成员变量可以用“类名.”来调用,也可以用“对象名.”来调用;
而非静态成员变量只能用“对象名.”来调用;
【5】使用不同
静态成员变量是类的所有对象的共享数据,而非静态成员变量是对象的特有数据。
|