java初始化、执行顺序
2022/8/3 14:24:02
本文主要是介绍java初始化、执行顺序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
▪ 代码块作用:用来初始化类、对象的信息
★ 执行过程:new了某类的新对象的时候
前提:某类需要先存在,即虚拟机jvm把某个类从硬盘上加载到内存【类加载到内存】
执行静态代码块,加载静态成员属性、静态方法和普通方法。
① 执行静态代码块【随着类的加载而执行】
如果有静态成员变量,也会执行,至于和静态代码块执行先后顺序看代码位置。
② 执行构造代码块【类加载完成后,开始创建对象。创建对象前,先创建对象的资源】
如果有普通成员变量,也会执行,至于和构造代码块执行先后顺序看代码位置。
③ 执行构造器,完成创建对象
★ 如果有继承关系:
① 执行父类、子类的静态代码块(静态资源)【随着类的加载而执行】
如果有静态成员变量,也会执行,至于和静态代码块执行先后顺序看代码位置。
父类静态代码块—>父类静态变量–>子类静态代码块–>子类静态变量
或者是:父类静态变量—>父类静态代码块–>子类静态变量–>子类静态代码块
② 执行构造代码块【类加载完成后,开始创建对象。创建对象前,先创建对象的资源】
如果有普通成员变量,也会执行,至于和构造代码块执行先后顺序看代码位置。
③ 执行构造器,完成创建对象
父类代码块—>父类普通成员变量–>父类构造函数–>子类代码块–>子类普通成员变量–>子类构造器
或者是:父类普通成员变量–>父类代码块—>父类构造函数–>子类普通成员变量–>子类代码块–>子类构造器
总结:最先执行静态代码块(随着类的加载而执行),然后在执行构造器前,先执行构造代码块
这篇关于java初始化、执行顺序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-28中外程序员到底有啥区别?
- 2024-05-25外企也半夜发布上线吗?
- 2024-05-24鸿蒙原生应用再新丁!芒果TV 入局鸿蒙
- 2024-05-22基本概念
- 2024-05-22检索数据
- 2024-05-22排序数据
- 2024-05-22基础过滤数据
- 2024-05-22通过逻辑操作符过滤数据
- 2024-05-22通过通配符过滤数据
- 2024-05-22字段的拼接与计算