Java五大类成员之一之代码块

54 阅读2分钟

Java 中的代码块是指用大括号 { } 括起来的一段代码,可以在程序中嵌套使用。根据其位置和作用可以分为以下几种:

  1. 局部代码块:局部代码块是定义在方法中的代码块,主要用于限制变量的作用域。一般情况下,局部代码块中声明的变量只在该代码块中可见,并且在该代码块执行结束后自动销毁。例如:

    public void test() {
      int x = 10;
      {
         int y = 20;
         System.out.println(x+y);
      }
      // y的作用域仅限于内部代码块
    }
    
  2. 初始化代码块:初始化代码块是类中用来初始化成员变量的代码块,用于实现构造函数的部分功能。初始化代码块在对象创建时被执行,每次创建对象时均被执行。例如:

    public class Test {
      int x;
      {
         System.out.println("执行初始化代码块");
         x = 5;
      }
    
      public static void main(String[] args) {
         Test test1 = new Test();  // 输出:执行初始化代码块
         Test test2 = new Test();  // 输出:执行初始化代码块
      }
    }
    

    在上面的例子中,初始化代码块中的输出语句在每个对象创建时都被执行了一次。

  3. 静态代码块:静态代码块是定义在类中用来初始化静态变量或执行一些静态语句的代码块,可以在类加载时自动执行,且仅执行一次。例如:

    public class Test {
      static int x = 10;
      static {
         System.out.println("执行静态代码块");
      }
    }
    

    在上面的例子中,静态代码块执行一次,可以在类被第一次加载时执行,静态变量在各个对象之间共享。

总之,代码块是 Java 语言中用来组织和限制变量作用域的一种结构,可以在程序中嵌套使用。对于不同的代码块有不同的作用和执行时机,了解代码块的概念和使用方法对于 Java 开发非常重要。