Java中成员变量和局部变量的区别

Java中成员变量和局部变量的区别

什么是成员变量和局部变量

成员变量:类中方法外的变量

局部变量:方法中的变量

区别
区别成员变量局部变量
类中位置不同类中方法外方法内或者方法声明上
内存中位置不同堆内存1栈内存2
生命周期不同随着对象的存在而存在,随着对象的消失而消失随着方法的调用而存在,随着方法的调用完毕而消失
初始化值不同有默认的初始化值没有默认的初始化值,必须先定义,赋值, 才能使用

  1. 堆内存:用来存放由 new 创建的对象和数组,在堆中分配的内存,
    由 Java 虚拟机的自动垃圾回收器来管理,只有在垃圾回收器空闲的时候才会去回收,所以堆内存中容易造成程序碎片化。通俗来说就是程序员开辟内存空间需要在堆内存中。 ↩︎

  2. 栈内存:函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当变量超过一定的作用范围后,Java虚拟机会自动释放栈中的变量,用于其他变量存储。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值