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

1.声明位置上的区别:

(1)成员变量是定义在类内方法外的,成员变量在整个类内都有效。(注意:属性一定是有修饰符的)

语法:修饰符  数据类型  变量名;

(2)局部变量是定义在方法之内的,局部变量只在其声明的方法内有效。

(注意:局部变量是没有访问控制修饰符的,因为局部变量本身就是一个访问权限的设定,只能在局部调用,也就是说局部变量的生命周期在方法体内部只能在方法体内部访问,方法外界是没办法访问这个变量的,所以不需要任何修饰符修饰,但可以使用final)

语法:数据类型  变量名;

2.作用上的区别:

(1)成员变量的作用是用于描述一类事物的公共属性的。

(2)局部变量的作用就是提供一个变量给方法内部使用而已。

3.生命周期的区别:

(1)成员变量随着对象的创建而创建,随着对象的消失而消失(随着对象被垃圾回收而销毁)。

(2)局部变量在调用了对应的方法并执行到了创建该变量的语句时存在,局部变量一旦出了自己的作用域那么马上从内存中消失。

4.初始值的区别:

(1)成员变量是有默认的初始值的(声明完以后,即使没有赋值也可以直接用)。

       ① int:       0

       ②float:     0.0f

       ③double:  0.0

       ④boolean:false

       ⑤char:      “ ”(空字符)

       ⑥String(引用数据类型/类类型):null

(2)局部变量是没有默认的初始值的,必须要先初始化才能使用。

(注意:如果没有初始化也没有使用,那么是不会报错的,一旦使用,立马报错)

5.存储位置上的区别:

(1)成员变量属于对象,它存储在堆内存中,是堆内存中的实体,当没有引用指向它时,才会被垃圾回收器回收。

(2)局部变量存储在栈内存中,当不再使用时,马上就会被释放。

        



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

处女座的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值