成员变量和局部变量
(1)在类中的位置不同
成员变量类中方法外
局部变量方法定义中或者方法声明上
(2)在内存中的位置不同
成员变量:在堆中
局部变量在栈中
(3)生命周期不同
或员变量随着对象的创建存在,随看对象的消失而消失
局部变量:随着方去的“调用而存在,随着方法的调用完毕而消失
(4)初始化值不同
成员变量有默认值
局部变量:没有默认值,必须定义,赋值,然后才能使用
成员变量和类变量的区别:
(1)两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
(2)调用方式不同
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
(3)别名不同
成员变量也称为实例变量。
静态变量也称为类变量。
(4)数据存储位置不同
成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。