首页 > 编程语言 > 详细

java 类的初始化顺序

时间:2021-06-09 21:39:19      阅读:18      评论:0      收藏:0      [点我收藏+]

类在使用时,会加载进内存里,然后进行成员属性等初始化。

顺序:

1、在加载完后,所有成员属性都会有一个默认值,比如 int 类型默认为0。
2、按照定义顺序,初始化父类静态属性和静态代码块,如果父类还有父类,一直逆向初始化父类,直至根父类
3、按照定义顺序,初始化子类静态属性和静态代码块
4、按照定义顺序,初始化父类普通属性和普通代码块
5、执行父类构造器
6、按照定义顺序,初始化子类普通属性和普通代码块
7、执行子类构造器

总体而言,先父类,后子类;先静态属性,后普通属性;先属性,后构造器。

https://blog.csdn.net/xyajia/article/details/80922329

注意:
1、静态属性只初始化一次,在第一次使用时初始化后,无论创建多少次对象, 都不会再初始化。

2、关于构造器:
1)如果在类中,没有定义 构造器,编译器会自动创建一个无参构造器。反之,如果定义了构造器,编译器就不会再添加无参构造器了。
2)如果父类只定义了有参构造器,而没有无参构造器,并且在子类中没有 显示调用 父类的有参构造器,则在初始化时会报错。因在子类中,默认会调用父类的无参构造器,而父类没有无参构造器,就出错了。

java 类的初始化顺序

原文:https://www.cnblogs.com/zhanglw456/p/14868066.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!