Java基础:Java对象初始化过程
我们都知道,创建对象是由 new关键字调用构造方法 返回类实例。
例如 : Person jack = new Person();
这句话到底做了什么事情呢 ? 其实就是讲对象的初始化过程。
- 1、 new 用到了Person.class,所以会先找到Person.class文件,并加载到内存中(用到类中的内容类就会被加载)
- 2、执行该对象的static代码块(静态初始块)。(如果有的话,给Person.class类进行初始化)
- 3、在堆内存中开辟空间,分配内存地址
- 4、在堆内存中建立对象特有属性,并进行默认初始化
- 5、对属性进行显示初始化(声明成员属性并赋值)
- 6、执行普通初始块
- 7、执行构造函数
- 8、将内存地址赋值给栈内存中的jack变量
如下图:
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
本文著作权归作者所有,如若转载,请注明出处
转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com