在程序中使用“{}”定义的结构成为代码块,根据代码块出现的位置和定义的关键字不同分为普通代码块,构造块,静态块,同步代码块
普通代码块
定义在方法之中的代码块
{//普通代码块
int x;
System.out.println();
}
构造代码块
构造块定义在类中
class Person{
public Person(){}
{
System.out.println("构造块");
}
}
public class JavaDemo
{
public static void main(String[] args){
new Person();
new Person();
new Person();
}
}
构造块在构造方法之前执行,并且每一次实例化时都会先执行构造块。
静态块
class Person{
public Person(){
System.out.println("构造方法执行");//非主类中
}
static {
System.out.println("静态方法执行");
}
{
System.out.println("构造块执行");
}
}
public class JavaDemo{
public static void main(String[] args){
new Person();
new Person();
new Person();
}
}
静态块最先执行,且只执行一次,如果在主类值写静态块,会在主方法之前执行。