在Java中使用{}块有什么用处

时间:2013-08-09 02:28:29

标签: java

Hello Friends在Java类中只有一个块的用法是什么

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

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:5)

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

  

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

官方教程here

中记录了这一点