黑马程序员技术交流社区

标题: 初始化流程 [打印本页]

作者: youyuxiaoyu    时间: 2015-9-27 08:04
标题: 初始化流程
最近查看资料,总结分析了创建对象的初始化流程,和大家分享一下。
Student s = new Student();
初始化顺序

把Student.class文件加载到内存中
如果有static代码块加载该代码块
在堆内存中创建一个对象Student
把Student中的属性进行默认初始化
把Student中的属性进行显示初始化
如果有构造代码块加载该代码块
调用构造方法进行初始化
在栈内存中声明Student类型的变量s
将对象Student的地址值赋值给s

作者: hujun5215651    时间: 2015-9-27 09:18
粗看了下,应该是这样

作者: 残影    时间: 2015-9-27 09:23
好像错了个顺序,,,先静态代码库,然后构造代码块,然后构造代码块(和对象成员变量同级别,看代码顺序如何)
作者: 舒玉琛    时间: 2015-9-27 10:17
收下了  楼主好人
作者: 善良的禽兽    时间: 2015-9-27 11:43
顶起来,顶起来




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2