这篇文章主要讲解了“Java类的初始化顺序是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java类的初始化顺序是什么”吧!
多说无益,以下是本人亲自试验的代码,一目了然:
打印结果:
经过替换静态属性和静态初始化块的声明顺序发现静态属性和静态初始化块的初始化顺序和声明顺序有关,同理,普通属性和普通初始化块的的初始化顺序和声明顺序有关。
总结:
当某一个类满足初始化的条件时(以后的博客中会有总结),先会初始化父类(从顶级父类Object依次向下初始化),然后初始化子类;
初始化该类时,最先初始化静免费云主机域名态属性和静态初始化块(和声明顺序有关),从顶级父类Object依次向下初始化;
通过new创建对象时,先初始化普通属性和普通初始化块(和声明顺序有关),再调用构造方法,同样从顶级父类Object依次向下执行;
静态属性和静态初始化块只会初始化一次,类初始化后,再次通过new创建对象,只会重复执行第三步。
接下来引用Java编程思想的一句话:
在类的内部,变量定义的先后顺序决定了初始化的顺序,即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。感谢各位的阅读,以上就是“Java类的初始化顺序是什么”的内容了,经过本文的学习后,相信大家对Java类的初始化顺序是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!
相关推荐: 如何解决VSCode配置python环境及中文问题
小编给大家分享一下如何解决VSCode配置python环境及中文问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!setting.json是设置语言环境,launch.json是设置…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。