Java教程

java 类的初始化顺序

本文主要是介绍java 类的初始化顺序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

顺序:

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

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

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

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

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

这篇关于java 类的初始化顺序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!