1.深入变量

一.变量和分类的初始值

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

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

image

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

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

image

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

二.变量的作用域

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

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

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

image

四.变量的定义和选择

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

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

发布了58 篇原创文章 · 获赞 0 · 访问量 740

猜你喜欢

转载自blog.csdn.net/huang_kuh/article/details/104848321
1.
今日推荐