成员变量和局部变量

成员变量:(不需要初始化)
• 实例变量(不以static修饰):从该类的实例被创建起开始存在,直到系统完全销毁这个实例。定义在方法外,类内部。
• 类变量(以static修饰):从该类的准备阶段开始存在,直到系统完全销毁这个类。类变量的作用域与这个类的生存范围相同。

变量的访问:
• 类.类变量
• 实例.实例变量
• 实例.类变量(可以实现,但是一种不正确的方式)
在这里插入图片描述
局部变量;(除形参外,都得初始化):

• 方法局部变量 :方法结束后销毁
• 代码块局部变量:在代码块中使用,只要离开代码块,这个变量会立即被销毁

1.成员变量之间变量名不能重复
2.类变量和实例化成员变量变量名不能重复
3.成员变量与局部变量之间变量名可以重复

在这里插入图片描述
局部变量

• 局部变量必须初始化,声明不赋值并没有内存分配
• 局部变量不属于任何类和实例,总保存在其方法所在的栈中
• 如果局部变量为基本数据类型,则直接将变量的值保存在该变量对应的栈中,如果是引用类型的变量,则这个变量里面存放的是地址,通过该地址引用到该变量实际引用的对象或数组
• 栈内存的变量无须系统垃圾回收,往往随方法或者代码块的结束而结束。

什么情况下使用成员变量?

  1. 需要定义描述某个类或者对象的固有信息,如身高,体重等。属于每个人都具有的不同信息。这种变量应该定义为成员变量。
  2. 如果这种信息对这个类所有实例完全相同,或者他是类相关的,例如人的眼睛数量,应该定义为类变量。
  3. 如果在某个类中需要以一个变量来保存该类或者实例运行时的状态信息应该使用成员变量。
  4. 如果某个信息需要在某个类的多个方法之间进行共享,则这个信息应该使用成员变量来保存。

什么情况下使用局部变量?

使用局部变量时,要尽可能的缩小局部变量的使用范围,局部变量使用的范围越小,在内存中停留的时间越短,程序性能就越好,所以能使用代码块的局部变量,尽量不使用方法局部变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值