理论教育 Java程序设计:局部变量和成员变量的区别

Java程序设计:局部变量和成员变量的区别

时间:2023-10-18 理论教育 版权反馈
【摘要】:成员变量与局部变量的区别:1.应用范围成员变量:在整个类中的所有方法中都有效。

Java程序设计:局部变量和成员变量的区别

成员变量:定义在类中变量。

局部变量:定义在方法中变量,如在方法体中、方法的参数列表中、复合语句中定义的变量。

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

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。

局部变量:存放在栈内存中,没有默认值,如果要使用必须初始化,没有初始值则不能使用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈