4.2.5 局部变量和成员变量

更新于 2026年10月10日 版权声明
4.2.5 局部变量和成员变量

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

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

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

1.应用范围

成员变量:在整个类中的所有方法中都有效。

局部变量:只在其声明的方法体内或复合语句内有效。

2.生命周期

成员变量:属于对象,成员变量是随着对象的创建而创建,随着对象的消亡而消亡。

局部变量:在调用方法时,给局部变量分配内存,使用完马上释放空间。

图示

在show()方法中,n,i,j都是在方法内声明的,属于局部变量。当内循环for开始执行时,j变量的生命周期开始,当内循环for结束,j变量消亡。当外循环for开始执行时,i变量的生命周期开始,当外循环for结束,i变量消亡。在方法被调用时n的生命周期开始,方法调用结束时,n消亡。

3.存储位置(https://www.daowen.com)

成员变量:随对象实体存储在堆内。当没有引用指向堆内存中的实体对象时,才当垃圾回收内存。

局部变量:存在于栈内存中,当不再使用时,其内存马上被释放回收。

4.初始值

成员变量:随对象实体存储在堆内,如果对象的成员变量没有赋初值,它有默认值。

整型:byte、short、int、long,默认值为0;

字符型:char,默认值为'\uoooo';

逻辑型:boolean,默认值为false;

字符串:String,默认值为null;

类类型:默认值为null;

数组:默认值为null。

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

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)