实例初始化块

102 阅读1分钟
实例初始化块(Instance Initializer Block)
  • definition:Java中用来初始化实例变量的一种特殊代码块。在创建对象实例时执行,并且在构造函数之前执行

  • purpose:通常用于对象创建时进行初始化操作,如给实例变量赋初值或执行其它初始化代码

  • notes

    • 无访问修饰符,也没有方法名,只是一个由一对花括号包围的代码块。不是一个方法,而是随着对象的创建而执行的一部分

    • 使用实例化初始块的常见用例是在对象的创建过程中进行复杂的初始化操作,特别是在多个构造函数中公用的初始化代码。通过在实例化初始块中编写这些公用的初始化代码,可以避免代码的重复,提高代码的可读性和可维护性

    • e.g.

      public class MyClass {
          private int x;
          
          // 实例化初始块
          {
              x = 10;
              System.out.println("Instance initializer block executed!");
          }
          
          public MyClass() {
              System.out.println("x = " + x);
              System.out.println("Constructor executed!");
          }
      }
      
      public class Main {  
          public static void main(String[] args) {  
              MyClass instanceInitializerBlock = new MyClass();  
          }  
      }
      

      output:

      Instance initializer block executed
      x = 10
      construct method executed