1. 普通代码块:用{}括起来的代码就属于普通代码块。与其他代码按顺序执行。
public class Temp {
public static void main (String args[]) {
{
System.out.println("普通代码块");
}
System.out.println("main函数");
}
}
//输出:
//普通代码块
//main函数
2. 构造块:在类中定义的代码块。构造块优先于构造方法执行,而且每次创建实例都会执行。
public class Temp {
public static void main (String args[]) {
new Test();
new Test();
}
}
class Test{
public Test(){
System.out.println("构造方法");
}
{
System.out.println("构造块");
}
}
//输出:
//构造块
//构造方法
//构造块
//构造方法
3. 静态块:用static修饰的代码块。静态块优先于构造块执行,并且只会执行一次。静态块的主要目的是为静态属性赋值。
public class Temp {
public static void main (String args[]) {
new Test();
new Test();
}
}
class Test{
public Test(){
System.out.println("构造方法");
}
{
System.out.println("构造块");
}
static {
System.out.println("静态块");
}
}
//输出:
//静态块
//构造块
//构造方法
//构造块
//构造方法