1.深入变量

一.变量和分类的初始值

根据变量在类中的定义分为两大类。

  1. 成员变量:全局变量/字段{Field),不要称之为属性,直接定义在类中,方法外面。
  2. 类成员变量。使用static修饰的字段。
  3. 实例成员变量。 没有使用static修饰的字段
  4. 局部变量:变量除了成员变量就是局部变量,其他都是局部变量。
    1. 方法内部的变量
    2. 方法的形参
    3. 代码块中的变量{}

image

  1. 变量的初始值:初始化才会在内存中开辟空间

  2. 成员变量:默认是有初始值的

image

局部变量没有初始值,必须先初始化才能使用。

二.变量的作用域

  1. 成员变量:整个类中都有效。
  2. 局部变量:开始定义的位置开始,到紧跟着结束的 } 为止。

成员变量可以先适用于后定义,局部变量必须先定义后使用。

三.局部变量的初始化和JVM中的运行机制

image

四.变量的定义和选择

  1. 考虑变量的生存时间,就会影响内存开销。
  2. 扩大变量的作用域,不利于提高程序的高内聚。

开发中应该尽量缩小变量的作用范围,如此在内存中停留时间越短,性能也就更高。
不要动不动就使用static修饰,一般定义工具方法的时候,static方法需要访问的变量属于类,
此时才使用static修饰字段,也不要动不动就使用成员变量,因为存在着线程不安全问题,
能使用局部变量尽量使用局部变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值