一、静态变量和成员变量是什么?
静态变量:独立于方法之外的变量,用 static 修饰,也就是类变量。
成员变量:独立于方法之外的变量,不过没有 static 修饰,也称实例变量。
二、两者之间的区别有哪些?
1.所属范围不同
静态变量属于类;
成员变量属于对象。
2.内存位置不同
静态变量存储于方法区的静态区;
成员变量存储于堆内存。
3.内存出现时间不同
静态变量在第一次被访问时创建,在程序结束时销毁;
成员变量在对象创建的时候创建,在对象被销毁的时候销毁。
4.调用方式不同
静态变量能通过类名调用,也可以通过对象进行调用;
成员变量只能通过对象名调用。