对象的初始化过程:
- class Person{
- private String name;
- private int age;
- ...//set,get
- person(String name,int age){
- ...
- }
- }
- ...
例如 Person p = new Person("战士",30);
1, 因为 new 用到了 Person.class. 所以会先找到 Person.class 文件并加载到内存中.
2, 执行该类中的 static 代码块, 如果有的话, 给 Person. class 类进行初始化.
3, 在堆内存中开辟空间, 分配内存地址.
4, 在堆内存中建立对象的特有属性. 并进行默认初始化.
5, 对属性进行显式初始化.
6, 对对象进行构造代码块初始化.
7, 对对象进行对应的构造函数初始化.
8. 将内存地址赋值给栈内存中的 p 变量
来源: http://www.bubuko.com/infodetail-3340606.html