4.4.3 静态数据初始化


静态的东西属于类。

静态数据成员只在这个类的第一个对象要创建的时候初始化。

Case: StaticInitialization.java

我们总结一下对象的创建过程。考虑一个叫做Dog的类:

  1. 类型为Dog的一个对象首次创建时,或者Dog类的静态方法/数据首次访问时,Java解释器 必须找到Dog.class。
  2. 找到Dog.class后,它的所有的静态初始化模块都会运行。因此,静态初始化仅发生一次。
  3. 创建一个new Dog( )时,new语句首先会在堆里分配一个足够的空间。
  4. 这个空间将会被清除为零,因此Dog中所有的数据成员都得到了缺省值。
  5. 执行定义初始化。
  6. 执行构造函数。

Next Page