java中局部变量和成员变量的区别?

  1. 在类中的位置不同

        成员变量:成员位置---在类中,方法外定义的变量
        局部变量:在方法定义中,或者方法声明上的变量
  2. 在内存中的位置也不同

        成员变量:在堆内存中
        局部变量:在栈内存中
  3. 生命周期不同

        成员变量:随着对象的创建而存在,随着对象的回收而消失
        局部变量:随着方法调用而存在,随着方法的调用完毕而消失
  4. 初始化不同

        成员变量:跟对象相关的,描述一个对象的属性(成员变量存在一个系统
        默认初始化),当然也可以直接赋值
        局部变量:
                在使用之前,必须初始化,否则编译不通过

猜你喜欢

转载自blog.51cto.com/14651315/2464212