
定义:
- 静态块是 jvm 首次加载类时执行的一段代码。
- 用于初始化静态变量或执行类使用之前需要完成的任务。
目的:
- 可用于执行重要的初始化,例如建立连接或计算初始值。
- 对于在创建任何实例之前或调用静态方法之前准备类很有用。
执行:
- 静态块仅在类加载后执行一次,在与该类相关的任何其他代码之前执行。
- 即使没有创建该类的对象也会执行。
带有静态块的代码示例:
静态块.java
// Usa um bloco estático
class StaticBlock {
static double rootOf2;
static double rootOf3;
// Bloco estático para inicialização
static {
System.out.println("Inside static block.");
rootOf2 = Math.sqrt(2.0);
rootOf3 = Math.sqrt(3.0);
}
StaticBlock(String msg) {
System.out.println(msg);
}
}
class SDemo3 {
public static void main(String args[]) {
StaticBlock ob = new StaticBlock("Inside Constructor");
System.out.println("Square root of 2 is " + StaticBlock.rootOf2);
System.out.println("Square root of 3 is " + StaticBlock.rootOf3);
}
}
- 消息“静态块内”。表明静态块是在创建 staticblock 对象之前执行的。
- rootof2 和 rootof3 的值在静态块中计算,并且在执行任何方法或对象构造之前可用。
静态块的优点:
它们确保在使用类之前在适当的时间安全地完成某些初始化。
常见用法:
- 启动复杂的静态变量或执行类所需资源的初始配置。










