黑马程序员技术交流社区

标题: 成员变量和局部变量 [打印本页]

作者: mm2015    时间: 2015-12-6 13:17
标题: 成员变量和局部变量
请问成员变量和局部变量怎么区分,怎么理解呢?/
作者: Mr.zhao    时间: 2015-12-6 14:49
局部变量和成员变量主要是他们作用域的区别,
成员变量个是类内部;局部变量是定义其的方法体内部。
成员变量可以不显式初始化,它们可以由系统设定默认值;局部变量没有默认值,所以必须设定初始赋值。
成员变量在所在类被实例化后,存在堆内存中;局部变量在所在方法调用时,存在栈内存空间中
  1. class Demo {
  2.         int a;//成员变量
  3.        
  4.         public static void main(String[] args) {
  5.                 int b;//局部变量
  6.         }
  7. }
复制代码


作者: ninety_奶挺    时间: 2015-12-6 14:53
成员变量和局部变量的区别:
1:成员变量直接定义在类中。
   局部变量定义在方法中,参数上,语句中。
2:成员变量在这个类中有效。
局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。
3:成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。
局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。

作者: 小小笑笑    时间: 2015-12-6 17:35
就个人经验来说,实际开发中常用的变量有三种:
全局变量:作用于整个App,常为static变量,常常用来存储多个界面要用到的值。
成员变量:作用于当前Activity,也仅用于当前Activity,当前Activity中的方法都可以使用。
局部变量:方法中的变量,你随手写了一个方法,随手在方法中创建并初始化了一个变量,这就是局部变量,离开这个方法,就没用了。



作者: 我住隔壁我姓王    时间: 2015-12-6 18:39
昨天刚刚学了这个
1:在类中的位置不同
        成员变量:在类中方法外
        局部变量:在方法定义中或者方法声明上
2:在内存中的位置不同
        成员变量:在堆内存(成员变量属于对象,对象进堆内存)
        * 局部变量:在栈内存(局部变量属于方法,方法进栈内存)
* C:生命周期不同
        * 成员变量:随着对象的创建而存在,随着对象的消失而消失
        * 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
* D:初始化值不同
        * 成员变量:有默认初始化值
        局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
       
注意事项:
        局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
        基本数据类型变量包括哪些:byte,short,int,long,float,double,boolean,char
        引用数据类型变量包括哪些:数组,类,接口,枚举




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2