成员变量和局部变量区别
- 在类中的位置不同
成员变量:在类中方法外面
局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中) - 在内存中的位置不同
成员变量:在堆中(方法区中静态区),成员变量属于对象,对象进堆内存
局部变量:在栈中,局部变量属于方法,方法进栈内存 - 生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用或代码块的执行而存在,随着方法的调用完毕或者代码块的执行完毕而消失 - 初始值
成员变量:有默认初始值
局部变量:没有默认初始值,使用前需赋值
public class Demo{ String string= "成员变量"; public static void main(String[] args) { new Demo().show(); } public void show() { String string= "局部变量"; System.out.println(string); } } 输出结果:局部变量
public class Demo{ String string= "成员变量"; public static void main(String[] args) { new Demo().show(); } public void show() { String string = "局部变量"; System.out.println(this.string); } }
输出结果:成员变量
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222312.html原文链接:https://javaforall.net
