成员变量、局部变量

本文详细解析了成员变量(包括类变量和实例变量)、局部变量的概念及其区别。从声明位置、修饰符、值存储的位置、作用域及生命周期等方面进行阐述,帮助读者深入理解变量的不同类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量的分类

  1. 成员变量:类变量、实例变量
  2. 局部变量

非静态代码块的执行:每次创建实例对象都会执行

方法的调用规则:调用一次执行一次

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

声明的位置

局部变量:方法体{}中,形参,代码块{}中

成员变量:类中方法外

类变量:有static修饰

实例变量:没有static修饰

修饰符

局部变量:final

成员变量:public、protected、private、final、static、volatile、transient

值存储的位置

局部变量:栈  (虚拟机栈,栈帧中的局部变量表)

实例变量:堆  (引用在虚拟机栈栈帧的局部变量表中,引用指针指向的实例在堆中)

类变量:方法区 (保存类和方法的信息)

作用域

局部变量:从声明处开始,到所属的}结束

实例变量:在当前类中“this.”(有时this.可以缺省),在其他类中“对象名.”访问

类变量:在当前类中“类名.”(有时类名.可以省略),在其他类中“类名.”或“对象名.”访问

生命周期

局部变量:每一个线程,每一次调用执行都是新的生命周期

实例变量:随着对象的创建而初始化,随着对象的被回收而消亡,每一个对象的实例变量是独立的

类变量:随着类的初始化而初始化,随着类的卸载而消亡,该类的所有对象的类变量是共享的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值