Java-父子类的类加载顺序

前言

我们都知道,在类加载的时候,会先加载静态变量和静态的代码块,接下来才是动态变量和构造方法。那么在涉及到父子类的情况下,也是一样的,区别就在于多了父子类继承这一层关系,具体的加载顺序如下:

父子类继承
1、先加载父类静态(静态变量和静态代码块),具体加载顺序就是代码中的静态变量和静态代码块的书写顺序
2、加载子类的静态(静态变量和静态代码块)
3、(在执行new对象之前,父子类中的动态属性和构造方法都不执行)在执行子类构造方法的之前,会先执行父类的动态属性和父类构造方法,然后执行子类动态属性和子类构造方法(执行子类构造方法时,必定会先执行父类构造方法,这一点和父子类中的方法有所区别,当调用父类中的某个方法时,如果子类对这个方法进行了重写,那么会先调用子类的方法),构造方法不会被重写,所以在调用子类构造方法创建新对象的时候必定会先执行父类的构造方法(例如子类构造方法中的super())。

注:静态是在类加载的时候执行,非静态是在new 之前的准备工作,要在执行构造方法前将属性都准备好。
总结:加载顺序:父静态->子静态->父非静态->父构造->子非静态->子构造

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只吹45°风

感谢您的每一份支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值