使用初始化块初始化实例变量。但是,静态初始化块只能初始化静态实例变量。当加载类时,这些块仅执行一次。一个类中可以有多个静态初始化块,它们按在程序中出现的顺序被调用。
给出了一个演示Java中的静态初始化块的程序,如下所示:
public class Demo {
static int[] numArray = new int[10];
static {
System.out.println("运行静态初始化块。");
for (int i = 0; i < numArray.length; i++) {
numArray[i] = (int) (100.0 * Math.random());
}
}
void printArray() {
System.out.println("初始化的值是:");
for (int i = 0; i < numArray.length; i++) {
System.out.print(numArray[i] + " ");
}
System.out.println();
}
public static void main(String[] args) {
Demo obj1 = new Demo();
System.out.println("对于obj1:");
obj1.printArray();
Demo obj2 = new Demo();
System.out.println("\nFor obj2:");
obj2.printArray();
}
}输出结果
运行静态初始化块。 对于obj1: 初始化的值是: 40 75 88 51 44 50 34 79 22 21 For obj2: 初始化的值是: 40 75 88 51 44 50 34 79 22 21