【摘要】:成员变量与局部变量的区别:1.应用范围成员变量:在整个类中的所有方法中都有效。
成员变量:定义在类中变量。
局部变量:定义在方法中变量,如在方法体中、方法的参数列表中、复合语句中定义的变量。
成员变量与局部变量的区别:
1.应用范围
成员变量:在整个类中的所有方法中都有效。
局部变量:只在其声明的方法体内或复合语句内有效。
2.生命周期
成员变量:属于对象,成员变量是随着对象的创建而创建,随着对象的消亡而消亡。
局部变量:在调用方法时,给局部变量分配内存,使用完马上释放空间。
在show()方法中,n,i,j都是在方法内声明的,属于局部变量。当内循环for开始执行时,j变量的生命周期开始,当内循环for结束,j变量消亡。当外循环for开始执行时,i变量的生命周期开始,当外循环for结束,i变量消亡。在方法被调用时n的生命周期开始,方法调用结束时,n消亡。
3.存储位置
成员变量:随对象实体存储在堆内。当没有引用指向堆内存中的实体对象时,才当垃圾回收内存。(www.daowen.com)
局部变量:存在于栈内存中,当不再使用时,其内存马上被释放回收。
4.初始值
成员变量:随对象实体存储在堆内,如果对象的成员变量没有赋初值,它有默认值。
整型:byte、short、int、long,默认值为0;
字符型:char,默认值为'\uoooo';
逻辑型:boolean,默认值为false;
字符串:String,默认值为null;
类类型:默认值为null;
数组:默认值为null。
局部变量:存放在栈内存中,没有默认值,如果要使用必须初始化,没有初始值则不能使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Java程序设计的文章