Java中的static{}块的实例详解
概述
在Java中,可以使用static
关键字定义的静态代码块static {}
,这个静态代码块在类被加载时执行,且只执行一次。可以用于在类加载时进行一些必要的初始化操作等。
示例说明一
public class StaticTest {
static {
System.out.println("静态代码块执行了");
}
public StaticTest() {
System.out.println("构造函数执行了");
}
public static void main(String[] args) {
new StaticTest();
}
}
输出结果:
静态代码块执行了
构造函数执行了
解析:在main方法中调用了new StaticTest()
,此时由于该类还未被实例化,所以首先执行了静态代码块,输出了“静态代码块执行了”,然后才执行了构造函数,输出了“构造函数执行了”。
示例说明二
public class StaticTest {
static {
System.out.println("静态代码块一执行了");
}
static {
System.out.println("静态代码块二执行了");
}
static {
System.out.println("静态代码块三执行了");
}
public StaticTest() {
System.out.println("构造函数执行了");
}
public static void main(String[] args) {
new StaticTest();
}
}
输出结果:
静态代码块一执行了
静态代码块二执行了
静态代码块三执行了
构造函数执行了
解析:在类被加载时,同时执行了三个静态代码块,依次输出了“静态代码块一执行了”、“静态代码块二执行了”、“静态代码块三执行了”,然后才执行构造函数,输出了“构造函数执行了”。
总结
static
关键字可以用于定义静态代码块,该代码块在类被加载时只会执行一次。- 静态代码块可以用于在类加载时进行一些必要的初始化操作等,比如读取配置文件。
- 如果存在多个静态代码块,它们会按定义的顺序依次执行。
- 静态代码块中的变量必须为静态变量。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中的static{}块的实例详解 - Python技术站