对象初始化过程
第一步:在创建之前,检查是否加载(检查硬盘上的class文件是否加载到内存中,如果没有加载,就先加载父类的文件)
在加载父类的文件,在加载本类的文件中java使用的加载的策略:懒惰式加载(按需加载)用到的时候,只加载一次。
第二步:分配对象的空间。递归分配所有父类和子类的属性空间,属性会自动初始化为“0”的值
第三步:给属性赋值
第四步:调用父类的构造方法(默认调用父类的无参构造方法)
第五步:调用本类的构造方法
对象初始化过程
第一步:在创建之前,检查是否加载(检查硬盘上的class文件是否加载到内存中,如果没有加载,就先加载父类的文件)
在加载父类的文件,在加载本类的文件中java使用的加载的策略:懒惰式加载(按需加载)用到的时候,只加载一次。
第二步:分配对象的空间。递归分配所有父类和子类的属性空间,属性会自动初始化为“0”的值
第三步:给属性赋值
第四步:调用父类的构造方法(默认调用父类的无参构造方法)
第五步:调用本类的构造方法