面向对象系列文章(六) - 成员变量和局部变量的区别?

1. 概述


如下代码:

class TestDemo{
      int b = 20 ;    // 成员变量
      public static void main(String[] args){
          int a = 10 ;  // 局部变量
      }
}

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

1>:在类中的位置不同:

  • 成员变量:类中方法外;
  • 局部变量:方法内或者方法声明上;
    2>:在内存中的位置不同:
  • 成员变量:在堆内存;
  • 局部变量:在栈内存;
    3>:生命周期不同:
  • 成员变量:随着对象的创建而存在,随着对象的消失而消失;
  • 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失;
    4>:初始化值不同:
  • 成员变量:有默认的初始化值:整型:0、浮点:0.0、对象:null;
  • 局部变量:没有初始化值,若要使用,必须先定义,然后初始化,最后才能使用

你可能感兴趣的:(面向对象系列文章(六) - 成员变量和局部变量的区别?)