一个对象创建语句
Girl y = new Girl("hera",20);
执行这句话要经历8个步骤:
new用到了Girl.class,所以先会找到Girl.class文件并加载到内存中
如果有的话,先会执行该类中的static代码块,为Girl.class类进行初始化
在堆内存中开辟空间,分配一个内存地址
在堆内存中建立对象的特有属性,并进行默认初始化。共享的属性则在方法区中
对属性进行显示初始化
执行构造代码块,为对象进行构造代码块初始化
执行相应的构造函数,为对象进行构造函数初始化
将内存地址赋给栈内存中的y变量
原文地址:http://caoyue.blog.51cto.com/9876038/1620624