public  class Person{

int num=8;
Person(){

System.out.println("1");

}


//给类初始化

static {

System.out.println("c");

//System.out.println(num);-->静态代码块不能调用this.num

}

//为对象初始化

{

System.out.println("2");

//System.out.println(num);可以使用

}

Person(int x){

System.out.println("3");

}


}
//******************************************
//静态代码块
/**
* 特点:随着类的加载而执行,只执行一次,并优先于main函数执行
* 用于给类进行初始化
*/
public class StaticCodeDemo {
static {
System.out.println("a");

}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new Person(4); //a b c 2 3
/* new Person();
new Person();
System.out.println("over");*/
}
static {
System.out.println("b");

}}
//**********************************************
结果:
a
b
c
2
3