Java全局变量和局部变量的区别

java中的变量分为成员变量和局部变量,它们分别是

成员变量:

  • 成员变量是在类的范围里定义的变量。
  • 成员变量有初始值,初始值为变量类型的默认值。
  • 没有被static修饰的成员变量存储在对象所在的堆内存中,生命周期和对象相同。
  • 被static修饰的成员变量也叫类变量,类变量存储在方法区中,生命周期和当前类相同。

局部变量:

  • 局部变量是在方法中定义的变量。
  • 局部变量没有默认初始值。
  • 局部变量存储于栈内存中,作用的范围结束,变量空间会自动释放。

总结:全局变量和局部变量的区别

  • 作用域不同:成员变量作用域在整个类,局部变量作用域是在其所在的方法。
  • 存储位置不同:加static的成员变量存储位置在方法区,不加static的成员变量存储位置是堆,局部变量存储位置是栈。
  • 有无默认值:成员变量有默认初始值,局部变量没有。
  • 声明周期不同:加static的成员变量声明周期和类相同,不加static的成员变量声明周期与当前对象相同,局部变量生命周期和其所在方法相同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值