【Java基础】成员变量和局部变量的区别

时间:2021-09-22 04:00:18

在类中的位置不同

  成员变量:在类内部方法外部
  局部变量:在方法体内部定义的或者方法的参数中定义的
在内存中的位置不同
  成员变量:在堆内存,有初始化值,byte,short,int,long-》0,char-》'\u0000',float,double-》0.0,引用类型-》null;
  局部变量:在栈内存,没有初始化的值,必须初始化后才能使用。
生命周期不同
  成员变量:随着对象的创建而存在,随着对象的消失而消失
  局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
初始化值不同
  成员变量:有默认初始化值
  局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。

注意事项:
  局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。