一个对象的初始化过程:以 Person p=new Person();为例
1、jvm根据指定的路径找到Person.class文件,并加载进内存(如果有直接父类,则先把直接父类加载进内存)
2、在推内存中开辟空间,分配地址(this);
3、对子类的成员变量进行默认初始化;
4、调用相对应的构造函数进行初始化;
5、在构造函数中,第一行先调用的super,对父类中的相应构造函数进行初始化;
6、父类初始化完毕对子类的成员变量进行显式初始化;
7、在进行子类构造函数的特定初始化;
8、初始化完毕后,将地址值赋给引用变量。
1、jvm根据指定的路径找到Person.class文件,并加载进内存(如果有直接父类,则先把直接父类加载进内存)
2、在推内存中开辟空间,分配地址(this);
3、对子类的成员变量进行默认初始化;
4、调用相对应的构造函数进行初始化;
5、在构造函数中,第一行先调用的super,对父类中的相应构造函数进行初始化;
6、父类初始化完毕对子类的成员变量进行显式初始化;
7、在进行子类构造函数的特定初始化;
8、初始化完毕后,将地址值赋给引用变量。