代码块主要就是通过{}花括号 括起来的代码;
主要分为 普通代码块 构造块 静态代码块三类。后面学到线程还有一个同步代码块,到时候再说;
普通代码块:仅仅是花括号括起来的代码块,个人感觉作用不大,我们来看一个实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package com.java.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.java.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.java.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 );
}
}
|