静态变量也叫类变量 成员变量也叫对象变量
所属不同
* 静态变量属于类,所以也称为为类变量 * 成员变量属于对象,所以也称为实例变量(对象变量)
* 静态变量属于类,所以也称为为类变量
* 成员变量属于对象,所以也称为实例变量(对象变量)
内存中位置不同
* 静态变量存储于方法区的静态区 * 成员变量存储于堆内存
* 静态变量存储于方法区的静态区
* 成员变量存储于堆内存
内存出现时间不同
* 静态变量随着类的加载而加载,随着类的消失而消失 * 成员变量随着对象的创建而存在,随着对象的消失而消失
* 静态变量随着类的加载而加载,随着类的消失而消失
* 成员变量随着对象的创建而存在,随着对象的消失而消失
调用不同
* 静态变量可以通过类名调用,也可以通过对象调用 * 成员变量只能通过对象名调用
* 静态变量可以通过类名调用,也可以通过对象调用
* 成员变量只能通过对象名调用