在Java中,静态代码块(static block)是在类加载时执行的代码块,它可以用来初始化类的静态成员变量。静态代码块的作用主要有以下几点:
初始化静态变量:静态代码块在类被加载到JVM时执行,且只执行一次,因此它经常用来初始化静态变量。
加载资源:如果程序需要使用某些静态资源,如初始化配置文件、加载图片等,可以在静态代码块中进行。
代码块顺序:在一个类中可以定义多个静态代码块,它们将按照在类定义中的顺序执行。
只执行一次:静态代码块在类加载时执行,无论创建多少个对象,静态代码块只执行一次。
下面是静态代码块的一个示例:
java复制 {
num;
String str;
{
num = ;
str = ;
System.out.println();
}
{
System.out.println();
}
{
();
();
}
}
在上面的代码中,即使创建了MyClass的两个对象,静态代码块也只会执行一次,即在类首次被加载到JVM时执行。输出将首先显示“Static block initialized.”,然后是两次“MyClass constructor called.”,因为构造函数每次创建对象时都会被调用。
需要注意的是,静态代码块在类中是可选的,只有在需要执行上述操作时才使用。过度使用静态代码块可能会使得代码不易理解和维护。
