代码块主要就是通过{}花括号 括起来的代码;
主要分为 普通代码块 构造块 静态代码块三类。后面学到线程还有一个同步代码块,到时候再说;
普通代码块:仅仅是花括号括起来的代码块,个人感觉作用不大,我们来看一个实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package
com.java1234.chap03.sec07;
public
class
Demo1 {
public
static
void
main(String[] args) {
int
a=
1
;
/**
* 普通代码块
*/
{
a=
2
;
System.out.println(
"普通代码块"
);
}
System.out.println(
"a="
+a);
}
}
|
运行输出:
普通代码块
a=2
构造块 构造块作用就是扩展构造器功能 每次实例化对象都会执行构造块里的内容:
我们来看一个实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package
com.java1234.chap03.sec07;
public
class
Demo2 {
/**
* 构造块
*/
{
System.out.println(
"通用构造块!"
);
}
/**
* 构造方法一
*/
public
Demo2(){
System.out.println(
"构造方法一"
);
}
/**
* 构造方法二
*/
public
Demo2(
int
i){
System.out.println(
"构造方法二"
);
}
/**
* 构造方法三
*/
public
Demo2(
int
i,
int
j){
System.out.println(
"构造方法三"
);
}
public
static
void
main(String[] args) {
new
Demo2();
new
Demo2(
1
);
new
Demo2(
1
,
2
);
}
}
|
运行输出:
通用构造块!
构造方法一
通用构造块!
构造方法二
通用构造块!
构造方法三
我们发现 每次调用构造方法 都会先执行 构造块
静态代码块
{}花括号前加static修饰词 在类加载的时候执行 而且只执行一次
我们看一个实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
package
com.java1234.chap03.sec07;
public
class
Demo3 {
/**
* 静态代码块 类加载的时候执行
*/
static
{
System.out.println(
"静态代码块!"
);
}
/**
* 构造块
*/
{
System.out.println(
"通用构造块!"
);
}
/**
* 构造方法一
*/
public
Demo3(){
System.out.println(
"构造方法一"
);
}
/**
* 构造方法二
*/
public
Demo3(
int
i){
System.out.println(
"构造方法二"
);
}
/**
* 构造方法三
*/
public
Demo3(
int
i,
int
j){
System.out.println(
"构造方法三"
);
}
public
static
void
main(String[] args) {
new
Demo3();
new
Demo3(
1
);
new
Demo3(
1
,
2
);
}
}
|
输出:
静态代码块!
通用构造块!
构造方法一
通用构造块!
构造方法二
通用构造块!
构造方法三