静态成员变量和非静态成员变量的区别

1、从保存位置:

a) 静态成员变量: 方法区的静态区域

b) 非静态成员变量: 堆内存中的对象空间里面

2、从书写格式上看:

a) 静态成员变量: 在数据类型前面多了一个static修饰

b) 非静态成员变量: 没有static修饰

3、从生命周期上看:

a) 静态成员变量:  在类加载的时候,类加载完成,就分配完空间;直到类被卸载时空间被回收

b) 非静态成员变量: 创建对象的时候分配空间; 对象变为垃圾空间被回收的时候被销毁

4、从使用方法上看:

a) 静态成员变量:  直接通过类名使用

b) 非静态成员变量: 必须通过对象使用

5、从修改后的影响范围上看:

a) 静态成员变量: 对该类的所有对象都有影响;

b) 非静态成员变量:  只对一个对象有影响

你可能感兴趣的:(【区别】)