找了一些资料,觉得比较好,可能有童鞋能用得上:
类的初始化步骤:
装载:查找和导入类或接口的二进制数据;
链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;
校验:检查导入类或接口的二进制数据的正确性;
准备:给类的静态变量分配并初始化存储空间;
解析:将符号引用转成直接引用;
初始化:激活类的静态变量的初始化Java代码和静态Java代码块。
初始化类中属性是静态代码块的常用用途,但只能使用一次。
对象的初始化过程:
1、对类进行初始化
2、在堆内存中开辟空间,分配内存地址
3、在堆内存中建立对象的特有属性,并进行默认初始化
4、对属性进行显示初始化
5、对对象进行构造代码快初始化
6、对对象进行对应的构造函数初始化
7、将内存地址赋给栈内存中的对象变量
|