黑马程序员技术交流社区

标题: 对象初始化过程 [打印本页]

作者: cflying    时间: 2015-7-26 11:39
标题: 对象初始化过程
Person p=new Person()在内存中是怎么执行的?

A把Person.class文件加载到内存。(类加载器)
B.在栈内开辟一个内存空间,给p使用。
C:new Person()就会在堆内存开辟空间。
D.方法进入方法区,有类名做标记。并且,同时成员变量进堆内存并给出了默认初始化值。(name:null age:0)
E.对成员变量进行显示初始化
F.如果有构造代码块,可以在构造代码块中对成员变量赋值。
G:执行构造方法中对成员变量的赋值
H:到此为止,对象初始化完毕。
I:把堆内存对象的首地址值赋值给栈内存的p变量。





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