(java)面向对象 ---- 成员变量与局部变量的区别

1.   成员变量与局部变量的区别:

(1) 定义位置的区别

          成员变量,定义在类中,方法外

         局部变量,定义在方法内,语句内

(2)作用域不同

         成员变量,作用范围是整个类

         局部变量,作用范围是方法内,语句内

(3)默认值不同

         成员变量,有自己的默认值

         局部变量,没有默认值,不赋值不能使用

(4)内存位置不同

         成员变量,随对象进入堆内存存储

        局部变量,随自己的方法进入栈内存

(5)生命周期不同

        成员变量,跟随对象,在堆中储存,内存等待JVM清除,周期相对较长

        局部变量,跟随方法,方法出栈,生命相对较短

2.   成员变量与局部变量同名:

       在方法中访问成员变量使用this.   不然根据就近原则方法会使用它的局部变量。

猜你喜欢

转载自blog.csdn.net/weixin_39781462/article/details/83410940