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

时间:2022-10-23 00:07:33

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

     1.类中的位置不同

    成员变量:在类中方法外

    局部变量:在方法中定义或者在方法声明上

     2.内存中的位置不同

    成员变量:在堆内存中

    局部变量:在栈内存中

     3.命周期不同

    成员变量:随着对象的创建而存在,随着对象的消失而消失

    局部变量:随着方法的调用而存在,随着方法的调用完成而消失

     4.始化值不一样

    成员变量:有默认的对应类型的初始化值

    局部变量:没有默认初始化值,必须定义,赋值之后才能使用。

                        不同方法中,是不能访问另外一个方法中定义的局部变量的。

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

  即方法中定义的变量会覆盖成员变量的值,在方法中想要使用成员变量,可以通过this关键字来指定。

 

class   Variable{

   //成员变量

   intnum;//0

 

   publicvoidshow(){

      //局部变量

      int num2 = 20;

      System.out.println(num2);

   }

  

}

 

 

publicclassVariabledemo {

   publicstaticvoidmain(String[] args) {

      Variable v =newVariable();

      System.out.println(v.num);

      v.show();

   }

 

}