一.变量和分类的初始值
根据变量在类中的定义分为两大类。
- 成员变量:全局变量/字段{Field),不要称之为属性,直接定义在类中,方法外面。
- 类成员变量。使用static修饰的字段。
- 实例成员变量。 没有使用static修饰的字段
- 局部变量:变量除了成员变量就是局部变量,其他都是局部变量。
- 方法内部的变量
- 方法的形参
- 代码块中的变量{}
-
变量的初始值:初始化才会在内存中开辟空间
-
成员变量:默认是有初始值的
局部变量没有初始值,必须先初始化才能使用。
二.变量的作用域
- 成员变量:整个类中都有效。
- 局部变量:开始定义的位置开始,到紧跟着结束的 } 为止。
成员变量可以先适用于后定义,局部变量必须先定义后使用。
三.局部变量的初始化和JVM中的运行机制
四.变量的定义和选择
- 考虑变量的生存时间,就会影响内存开销。
- 扩大变量的作用域,不利于提高程序的高内聚。
开发中应该尽量缩小变量的作用范围,如此在内存中停留时间越短,性能也就更高。
不要动不动就使用static修饰,一般定义工具方法的时候,static方法需要访问的变量属于类,
此时才使用static修饰字段,也不要动不动就使用成员变量,因为存在着线程不安全问题,
能使用局部变量尽量使用局部变量。