静态代码块
1、 初始化
——————————————————————————代码如下:
public class Test09 {
private static int a;
private int b;
public void f(){
System.out.println("哈哈哈哈哈哈哈");
}
// 静态代码块一
static{
Test09.a = 1;
System.out.println(a);
Test09 t = new Test09();
t.f();
t.b = 1000;
System.out.println(t.b);
}
// 静态代码块二
static {
Test09.a = 2;
System.out.println(a);
}
// 静态代码块三
static {
Test09.a = 3;
System.out.println(a);
}
public static void main(String[] args) {
System.out.println(“main方法:”+a);
——————————————————————————运行结果:
1
哈哈哈哈哈哈哈
1000
2
3
main方法:3
总结:静态块在首次创建对象或者访问类的字段时才会执行,并且只执行一次。执行顺序是代码块的先后顺序。
2. 静态代码块与静态函数的区别
静态代码块:
在项目启动前就执行,而且代码是主动执行的。
静态代码块只执行一次,并且在同属于一个类的main方法之前执行
静态方法:
在项目启动的时候初始化。不需要创建对象,静态函数可以被直接调用。
执行是被动执行。