java初始化、执行顺序

简介: java初始化、执行顺序

▪ 代码块作用:用来初始化类、对象的信息


★ 执行过程:new了某类的新对象的时候

前提:某类需要先存在,即虚拟机jvm把某个类从硬盘上加载到内存【类加载到内存】

执行静态代码块,加载静态成员属性、静态方法和普通方法。


① 执行静态代码块【随着类的加载而执行】

如果有静态成员变量,也会执行,至于和静态代码块执行先后顺序看代码位置。

② 执行构造代码块【类加载完成后,开始创建对象。创建对象前,先创建对象的资源】

如果有普通成员变量,也会执行,至于和构造代码块执行先后顺序看代码位置。

③ 执行构造器,完成创建对象


★ 如果有继承关系:

① 执行父类、子类的静态代码块(静态资源)【随着类的加载而执行】

如果有静态成员变量,也会执行,至于和静态代码块执行先后顺序看代码位置。

父类静态代码块—>父类静态变量–>子类静态代码块–>子类静态变量

或者是:父类静态变量—>父类静态代码块–>子类静态变量–>子类静态代码块


② 执行构造代码块【类加载完成后,开始创建对象。创建对象前,先创建对象的资源】

如果有普通成员变量,也会执行,至于和构造代码块执行先后顺序看代码位置。

③ 执行构造器,完成创建对象

父类代码块—>父类普通成员变量–>父类构造函数–>子类代码块–>子类普通成员变量–>子类构造器

或者是:父类普通成员变量–>父类代码块—>父类构造函数–>子类普通成员变量–>子类代码块–>子类构造器



总结:最先执行静态代码块(随着类的加载而执行),然后在执行构造器前,先执行构造代码块

目录
相关文章
|
3月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
327 2
|
4天前
|
存储 Java C++
Java数组:静态初始化与动态初始化详解
本文介绍了Java中数组的定义、特点及初始化方式。
30 12
|
2月前
|
Java 程序员 数据库连接
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
本文详细介绍了Java中的初始化块,包括静态初始化块和非静态初始化块的概念、执行顺序和实际应用场景。通过具体示例,帮助读者理解这两种初始化块的区别和使用场景,让面试官对你刮目相看。
42 0
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
|
2月前
|
Java
Java 静态变量的初始化顺序
【10月更文挑战第15天】了解 Java 静态变量的初始化顺序对于正确编写和维护代码至关重要。通过深入理解初始化顺序的原理和细节,我们可以更好地避免潜在的问题,并提高代码的质量和可靠性。
|
3月前
|
Java 编译器
【一步一步了解Java系列】:子类继承以及代码块的初始化
【一步一步了解Java系列】:子类继承以及代码块的初始化
148 3
|
3月前
|
Java
java构造方法时对象初始化,实例化,参数赋值
java构造方法时对象初始化,实例化,参数赋值
109 1
|
5月前
|
安全 Java 关系型数据库
Java连接Mysql SSL初始化失败
Java连接Mysql SSL初始化失败
|
5月前
|
存储 Java
如何在 Java 中初始化二维 ArrayList
【8月更文挑战第23天】
116 1
|
5月前
|
Java 数据安全/隐私保护
Java代码的执行顺序和构造方法
构造方法是类的一种特殊方法,用于初始化新对象。在 Java 中,每个类默认都有一个与类名同名的构造方法,无需返回类型。构造方法不能用 static、final、synchronized、abstract 或 native 修饰。它可以重载,通过不同的参数列表实现多种初始化方式。构造方法在对象实例化时自动调用,若未显式声明,默认提供一个无参构造方法。构造代码块和静态代码块分别用于对象和类的初始化,按特定顺序执行。
49 0
|
5月前
|
存储 Java 编译器
如何在 Java 中初始化对象 Arraylist?
【8月更文挑战第23天】
159 0

热门文章

最新文章