成员变量和局部变量的区别
成员变量:
1、成员变量定义在整个类中,在整个类中都可以访问。
2、成员变量随着对象创建而创建,随着对象消失而消失,存在于对象所在的堆内存里。
3、成员变量有默认初始值。
局部变量:
1、局部变量值定义在局部范围内,如:函数内、语句内等,只在所在的区域里有效。
2、局部变量存在于栈内存里,作用的范围结束,变量空间会自动释放。
3、局部变量没有默认初始值,在使用变量时需要遵循的原则为:就近原则,首先在局部范围找;接着在成员位置找。
成员变量和静态变量的区别
1、两个变量的生命周期不同,成员变量随着对象的创建而创建;静态变量随着类的加载而存在,随着类的消失而消失。
2、调用方式不同
成员变量只能被对象调用。
静态成员变量既可以被对象调用,也可以被类调用。
3、别名不同
成员变量也称为实例变量。
静态变量也称为静态变量。
4、数据存储位置不同
成员变量存储在堆内存中,所以也叫对象的特有数据。
静态变量存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。