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