Java中一个对象的构造过程 在 思想永无止境 上转载

Java中一个对象的构造过程如下:

1.用类加载器加载父类,按父类静态变量定义的顺序的为父类所有静态变量分配空间,并赋予父类静态变量默认值。

2.用类加载器加载自己,按自己静态变量定义的顺序的为自己所有静态变量分配空间,并赋予自己静态变量默认值。

3.按父类静态变量定义的顺序的为父类所有静态变量赋上定义的值。
4.执行父类静态代码块。

5.按自己静态变量定义的顺序的为自己所有静态变量赋上定义的值。
6.执行自己静态代码块。

7.为父类实例变量分配空间,并赋予默认值。
8.为自己实例变量分配空间,并赋予默认值。

9.按父类实例变量定义的顺序的为父类所有实例变量赋上定义的值。
10.执行父类的构造代码块。
11.执行父类的构造方法。

12.按自己实例变量定义的顺序的为自己所有实例变量赋上定义的值。

13.执行自己的构造代码块。
14.执行自己的构造方法。

15.对象构造完毕。

注意:

1.父类如果还有父类就也依照此顺序先初始化父类的父类,直到Object为止。

2.如果执行步骤3、5、9、12时,定义的值引入了别的类,则会初始化那个类,如果引用的类还有引用的类则也按照此顺序先初始化引用类的引用类,直到所有被引用的类全部被初始化完毕为止。

3.如果一个类没有父类(如Object类),则它的初始化顺序可以简化成2、5、6、8、12、13、14、15。

在 思想永无止境 上转载

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值