java对象创建过程是什么样的?

TheDisguiser 2020-09-10 17:16:34 java常见问答 8067

对象是java中的重要概念之一,了解对象创建的过程及原理是java学习所必要的,下面小编就为大家讲讲java对象创建的过程。

对象创建过程

示意图:

java对象创建过程

流程:

1、在刚开始new对象时,在堆内存中开辟一块空间。

2、给开辟的空间分配一个地址。

3、将对象的所有非静态成员加载至所开辟的空间下。

4、在所有的非静态成员加载完成后,对所有非静态成员变量进行默认初始化。

5、所有非静态成员变量默认初始化完成之后,调用构造函数。

6、在构造函数入栈执行时,分为两部分:先执行构造函数中的隐式三步,

1)、执行super()语句 

2)、对开辟空间下的所有非静态成员变量进行显示初始化 

3)、执行构造代码块

然后再执行构造函数中书写的代码。

7、在整个构造函数执行完并弹栈后,把空间分配的地址赋给引用对象。

PS: super语句,可能出现以下三种情况:

1)、构造方法体的第一行是this()语句,则不会执行隐式三步,而是调用this()语句所对应的的构造方法,最终肯定会有第一行不是this语句的构造方法。

2)、构造方法体的第一行是super()语句,则调用相应的父类的构造方法,

3)、构造方法体的第一行既不是this()语句也不是super()语句,则隐式调用super(),即其父类的默认构造方法,这也是为什么一个父类通常要提供默认构造方法的原因。

以上就是本篇文章的所有内容,如果想了解更多java编程常见问题就来我们网站寻找答案吧。

推荐阅读:

java对象类型转换,强制对象类型转换介绍

java对象类型转换,向上转型和向下转型详细介绍

java对象转map怎么操作?map如何转化成Java对象?