局部变量与成员变量的·区别!

局部变量与成员变量的不同

1,定义的位置不同(重要)
局部变量:在方法的内部
成员变量:在方法外部,直接写在类当中

2,作用范围不一样
局部变量:只有在方法体内才有效,出了方法就不能在用了
成员变量:整个类都可以用。

3,默认还是不一样的
局部变量:没有默认值,使用时需手动赋值。
成员变量:如果没有赋值,会使用默认值,规则和各种类型数据一样

4,内存位置不一样(了解)
局部变量,位于栈内存当中。
成员变量:位于堆内存当中。

5,生命周期不一样
局部变量:随方法进栈而诞生,随访发出栈而消失。
成员变量:随方法创建而诞生,随之对象垃圾回收(java的垃圾回收机制)
而消失。

试验一下:

    String name;

    public void main() {
        int n = 30;
        System.out.println(n);
        System.out.println(name);
    }

    public void as(int as) {//方法的参数就是局部变量
        System.out.println(as);//不报错是因为,方法
        // 被调用时必然会被赋值的
        int  n;
        int b = 30;
        //System.out.println(n);//错误写法,
        // 没有赋值无法使用

        System.out.println(b);
        System.out.println(name);
    }


版权声明:本文为selints原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。