成员变量和局部变量的区别

Day06_SHJavaTraing_4-10-2017

成员变量和局部变量的区别

1.从定义的位置上看:

  成员变量:直接定义在类中(类的成员位置)
  局部变量:定义在局部范围(函数中或者{}语句中)

2.从内存中的位置上看:
  成员变量:保存在堆内存中

  局部变量:保存在栈内存中
3.从生命周期(指的是从分配空间到回收空间)上看:
  成员变量:成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

  局部变量:局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
4.从使用范围上看:
  成员变量: 在定义它的类中都可以使用

  局部变量: 只能在定义它的局部范围(函数中或者{}语句中)中使用
       

5.从初始化上看:
  成员变量: 因为在堆内存中,所以有默认的初始化值

  局部变量: 默认的初始化值,必须手动的给其赋值才可以使用
       

原文地址:https://www.cnblogs.com/EzraOholiabXue/p/Day06_SHJavaTraing_4-10-2017.html