-1

你好朋友在Java类中只有一个块有什么用

public class StaticExample {
  {
    System.out.println("I m here...");
  }
}
4

2 回答 2

7

那是一个初始化块。它在创建新实例时执行。如果您认为这是构造函数的工作,那么无论使用哪个构造函数,您都可以在其中放置执行的代码。它们按照它们出现的顺序在构造函数之前执行。如果你把static一个初始化块放在前面,它就变成了一个静态初始化块,它在类加载后立即执行。

于 2013-08-09T02:30:52.247 回答
6

它称为初始化程序块,每次创建类的实例时都会调用它。

Java 编译器将初始化程序块复制到每个构造函数中。因此,这种方法可用于在多个构造函数之间共享代码块。

代码在构造函数中的代码之前调用,不依赖于后者。

public class InitializerExample {

    public InitializerExample() {
        System.out.println("InitializerExample");
    }

    {
        System.out.println("I'm here...");
    }

    public static void main(String[] args) {
        new InitializerExample();
    }
}

会产生

I'm here...
InitializerExample

它记录在官方教程

于 2013-08-09T02:30:48.950 回答