1 代码块:就是用{}括起来到部分。根据应用的不同分为4类:普通代码块、构造块、静态代码块、同步代码块。
2 1.普通代码块:定义在方法中的代码块。
3 如:
4 [java] view plain copy
5 public class Ex22 {
6
7 public static void main(String[] args){
8 // 普通代码块
9 {
10 int i = 3;
11 System.out.println("局部变量为 " + i);
12 }
13 int i = 5;
14 System.out.println("相对上面的 i 来说是全局的变量 " + i);
15
16 }
17
18
19 }
20 //局部变量为 3
21 //相对上面的 i 来说是全局的变量 5
22 2.构造块:直接在类中编写的代码块。
23 [java] view plain copy
24 class Demo5{
25 {
26 System.out.println("构造块");
27 }
28 public Demo5(){
29 System.out.println("构造方法");
30 }
31 {
32 System.out.println("构造方法后的构造块");
33 }
34 }
35 public class Ex22 {
36
37 public static void main(String[] args){
38 new Demo5();
39 new Demo5();
40
41 }
42
43
44 }
45 //构造块
46 //构造方法后的构造块
47 //构造方法
48 //构造块
49 //构造方法后的构造块
50 //构造方法
51 对象被实例化一次构造块就执行一次;
52 构造块优先执行比构造方法.
53 3.静态代码块:static 关键字声明的代码块.
54 [java] view plain copy
55 class Demo5{
56 {
57 System.out.println("1构造块");
58 }
59 public Demo5(){
60 System.out.println("2构造方法");
61 }
62 {
63 System.out.println("3构造方法后的构造块");
64 }
65 static {
66 System.out.println("4静态代码块");
67 }
68
69 }
70 public class Ex22 {
71 static {
72 System.out.println("在主方法类中定义的代码块");
73 }
74
75 public static void main(String[] args){
76 new Demo5();
77 new Demo5();
78
79 }
80
81
82 }
83 //在主方法类中定义的代码块
84 //4静态代码块
85 //1构造块
86 //3构造方法后的构造块
87 //2构造方法
88 //1构造块
89 //3构造方法后的构造块
90 //2构造方法
91
92 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/njiang/archive/2009/10/27/4735707.aspx
93 主方法静态代码块优先于主方法,
94 在普通类中静态块优先于构造块,
95 在普通类中构造块优先于构造方法,
96 静态块只实例化一次。
四、同步代码块
同步代码块主要出现在多线程中。