谈谈java对象初始化过程

我们都知道,创建对象是由new关键字调用构造方法返回类实例。
例如:Animal dog = new Animal();
那么这句话到底是做了哪些事情呢?其实呢就是讲对象的初始化过程。

    1. new用到了Animal.class,所以会先找到Animal.class文件,并加载到内存中(用到类中的内容类就会被加载)
    1. 执行该对象的static代码块(静态初始块).(如果有的话,就给Animal.class类进行初始化)
    1. 在堆内存中开辟空间,分配内存地址
    1. 在堆内存中建立对象特有属性,并进行默认初始化。
    1. 对属性进行显示初始化(声明成员属性并赋值)
    1. 执行普通初始快
    1. 执行构造函数
    1. 将内存地址赋值给栈内存中dog变量

如下图:


Java对象初始化过程
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。