用static修饰的代码块就是静态代码块。
静态代码块在类加载后执行。
静态代码块和静态方法相同,不能使用外部非静态成员。
静态代码块执行和静态变量的初始化顺序由代码从上到下顺序决定。
如果我们有一段代码想在别人使用某个类的时候就运行, 而且只运行一次, 那么就可以写在静态代码块中.
例如:
class StaticBlock {
public static void main(String[] args) {
new Person();
}
}
class Person {
static String name;
static {
System.out.println("静态代码块");
}
{
System.out.println("普通代码块");
}
public Person() {
System.out.println("构造函数");
}
public static void fun() {
System.out.println("fun()");
}
}
运行结果:
静态代码块
普通代码块
构造函数 |