.static代码块
static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。例如:
Java代码
1.public class Test5 {
2. private static int a;
3. private int b;
4.
5. static {
6. Test5.a = 3;
7. System.out.println(a);
8. Test5 t = new Test5();
9. t.f();
10. t.b = 1000;
11. System.out.println(t.b);
12. }
13. static {
14. Test5.a = 4;
15. System.out.println(a);
16. }
17.
18. public static void main(String[] args) {
19. // TODO 自动生成方法存根
20. }
21.
22. static {
23. Test5.a = 5;
24. System.out.println(a);
25. }
26.
27. public void f() {
28. System.out.println("hhahhahah");
29. }
30.}
31.
public class Test5 {
private static int a;
private int b;
static {
Test5.a = 3;
System.out.println(a);
Test5 t = new Test5();
t.f();
t.b = 1000;
System.out.println(t.b);
}
static {
Test5.a = 4;
System.out.println(a);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
}
static {
Test5.a = 5;
System.out.println(a);
}
public void f() {
System.out.println("hhahhahah");
}
}
运行结果:
3
hhahhahah
1000
4
5
利用静态代码块可以对一些static变量进行赋值,最后再看一眼这些例子,都一个static的main方法,这样JVM在运行main方法的时候可以直接调用而不用创建实例。
static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。例如:
Java代码
1.public class Test5 {
2. private static int a;
3. private int b;
4.
5. static {
6. Test5.a = 3;
7. System.out.println(a);
8. Test5 t = new Test5();
9. t.f();
10. t.b = 1000;
11. System.out.println(t.b);
12. }
13. static {
14. Test5.a = 4;
15. System.out.println(a);
16. }
17.
18. public static void main(String[] args) {
19. // TODO 自动生成方法存根
20. }
21.
22. static {
23. Test5.a = 5;
24. System.out.println(a);
25. }
26.
27. public void f() {
28. System.out.println("hhahhahah");
29. }
30.}
31.
public class Test5 {
private static int a;
private int b;
static {
Test5.a = 3;
System.out.println(a);
Test5 t = new Test5();
t.f();
t.b = 1000;
System.out.println(t.b);
}
static {
Test5.a = 4;
System.out.println(a);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
}
static {
Test5.a = 5;
System.out.println(a);
}
public void f() {
System.out.println("hhahhahah");
}
}
运行结果:
3
hhahhahah
1000
4
5
利用静态代码块可以对一些static变量进行赋值,最后再看一眼这些例子,都一个static的main方法,这样JVM在运行main方法的时候可以直接调用而不用创建实例。