对象初始化过程是这样的:
1. 首先加载类到内存中
2. 对于类变量
,系统默认初始化为null或0等默认值
3. 执形静态
代码块或类变量
的显示初始化(代码中谁在前面谁就先执行),如果和主函数在同一块中,优于主函数执行。
4. 在堆内存中开辟空间,分配内存地址
5. 对于成员变量,首先系统默认初始化为null或者0等默认值
6. 然后执行构造代码块或成员变量显示初始化(代码中谁在前面谁就先执行)
7. 最后才是构造方法初始化
8. 将堆内存中的地址付给栈内存中的引用