Java类的各种成员初始化顺序,20K程序员也可能不清楚

如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级架构进阶群:180705916,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家

程序员、编程、软件开发、吐槽

很多Java程序员肯定代码执行顺序没搞清楚

不信大家看看执行结果会和你想的一样吗总结

class B extends A ,然后A类也就是父类里面有静态代码块,普通代码块,静态方法,静态成员变量,普通成员变量,普通方法。

子类也是这样,然后继承之后,关于程序打印输出的结果。

涉及到Java类的各种成员的初始化顺序。

经测试,得到如下结论:

1.父类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。

2.子类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。

3.父类的【普通成员变量被普通成员方法赋值】和【普通代码块】,按在代码中出现的顺序依次执行。

4.执行父类的构造方法。

5.子类的【普通成员变量被普通成员方法赋值】和【普通代码块】,按在代码中出现的顺序依次执行。

6.执行子类的构造方法。Object祖宗类镇楼

推荐阅读更多精彩内容