局部变量和成员变量区别

回忆以前学习时变量的定义方式,和位置,以及现在定义类中属性的特点。总结下面几点异同

区别一:定义的位置不同

定义在类中的变量是成员变量

定义在方法中或者{}语句里面的变量是局部变量

区别二:在内存中的位置不同

成员变量存储在堆内存的对象中

局部变量存储在栈内存的方法中

区别三:声明周期不同

成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失(JVM回收堆内存)

局部变量随着方法的运行而出现在栈中,随着方法的出栈而消失(进栈出栈也就是作用域的体现)

区别四:初始化不同

成员变量因为在堆内存中,所有默认的初始化值

局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

posted on 2019-04-26 10:05  bupt_liqi  阅读(131)  评论(0编辑  收藏  举报

导航