对象的初始化过程:

1、首先会加载StaticCode.class文件。加载的过程中,构造函数,一般函数,普通的成员变量,都会

加载到方法区中的StaticCode所在的那里class文件的区域中。而所有的静态都会被加载到方法区的

静态区中。

2、所有的静态变量加载完成之后,开始对所有的静态变量进行显示的初始化。

3、静态变量显示初始化结束之后,静态代码块开始执行。

4、静态代码块执行完成之后,类的加载结束。

5、开始在堆中创建StaticCode对象。

6、对象中的所有成员变量默认初始化

7、构造函数压栈

7.1 隐式的super找父类进行初始化

7.2 成员变量显示初始化

7.3 构造代码块执行。

7.4 构造函数里面的代码执行

8、对象在堆中创建完成,把内存地址赋值给sc引用变量。