java类初始化时,类中代码块执行的顺序?

115 阅读1分钟

当Java类被初始化时,其中的代码块执行的顺序如下:

  1. 静态代码块(static code block):如果类中包含静态代码块,那么它首先被执行,且只被执行一次。它通常用于执行类的静态初始化操作,例如初始化静态变量。
  2. 非静态代码块(instance initialization block):接下来,所有类中的非静态代码块被执行。这些代码块在每次创建对象时都会被执行,通常用于对实例变量进行初始化操作。
  3. 构造函数(constructor):最后,执行类的构造函数。构造函数仅在对象创建时执行一次,是一种特殊类型的方法,用于初始化类的实例变量。

因此,Java类中的代码块按照上述顺序依次执行,保证了类的正确初始化。如果类继承自其他类,则会按照相同的顺序执行父类中的代码块和构造函数。