person4 p4 = new person4("zhangsan",9);
该代码都做了什么?
1、因为new用到了person.class所以会先找到person.class文件并加载到内存中。
2、执行该类中的static代码块,如果有的话,给person.claa类进行初始化。
3、在堆内存中开辟空间,分配地址。
4、在堆内存中建立对象的特有属性。并进行默认初始化。
5、对属性进行显示初始化
6、对对象进行构造代码块初始化。
7、对对象进行相应的构造函数初始化。
8、将内存地址垫付给内存中的P变量。
本笔记出自毕向东老师的课堂。