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

成员变量

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

  • 在类中的位置不同

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

  • 在内存中的位置不同

        成员变量:在堆内存
        局部变量:在栈内存

  • 生命周期不同

        成员变量:随着对象的创建而存在,随着对象的消失而消失
        局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

  • 初始化值不同

    ​ 成员变量:有默认初始化值

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

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

 1 public class MyTest2 {
 2     public static void main(String[] args) {
 3         Student student = new Student();
 4         student.show("王五");
 5     }
 6 }
 7 class Student {
 8     // 成员变量
 9     String name="张三";  
10                     //局部变量
11     public void show(String name) {
12         //当成员变量和局部变量重名时,那么访问变量的规则就遵从就近原则
13         //就近原则:先从局部范围找,找个变量,找到就使用,如果找不到,去成员位置找,找到就成员
14          System.out.println(name);//王五
15         System.out.println(this.name);//张三
16     }
17 }
posted @ 2024-08-01 11:49  wen-210162704027  阅读(4)  评论(0编辑  收藏  举报