以名为Dog的类为例子:
1、Dog对象首次创建,或者Dog中static方法/static字段首次访问时,Java解释器会先寻找Dog.class(在事先设置好的类路径里面搜索);
2、当找到Dog.class时加载Dog.class,此时Dog.class里所有static初始化模块都会运行,因此static只会被初始化一次,就是在类加载的时候;
3、进行new Dog(),Dog对象的构建进程会在堆里面为该对象分配内存;
4、将Dog中所有基本类型都设置默认值;
5、Dog中定义字段时发生的所有初始化都会被执行;
6、执行构造方法;