在创建对象时,虚拟机会为对象分配存储空间,并调用相应的构造器进行初始化工作,构造器选择(缺省构造器:在没有显示定义构造器时使用缺省构造器,显示定义并使用了该构造器则调用
对应指定构造器)。
对象创建过程
(1)定位class文件,加载文件,首次加载,静态初始化工作执行一遍,且只执行一次,构造函数是一个特殊的static方法
(2)基类构造器,如果基类还有基类,递归到最顶层,到object
(4)按声明顺序初始化类的成员变量,基本类型赋值0,引用类型调用没有用new创建赋值null,用new创建回到步骤1;
(3)调用当前类的构造器主体
对应指定构造器)。
对象创建过程
(1)定位class文件,加载文件,首次加载,静态初始化工作执行一遍,且只执行一次,构造函数是一个特殊的static方法
(2)基类构造器,如果基类还有基类,递归到最顶层,到object
(4)按声明顺序初始化类的成员变量,基本类型赋值0,引用类型调用没有用new创建赋值null,用new创建回到步骤1;
(3)调用当前类的构造器主体