代码块的分类:
- 普通代码块:定义在方法中的代码块【避免重命名】
- 构造块:定义在类中的代码块(不加修饰符)
- 静态代码块:使用static定义的代码块
- 同步块
在非主类的静态代码块:静态块优先于构造方法执行且无论产生多少实例化对象,静态代码块只执行一次
*在主类中的静态代码块:优先于主方法执行
class Person{
public void fun(){
{//普通代码块
String name;
int age;
}
}
static{
System.out.println("非主类中的静态代码块");
}
{
System.out.println("构造块");
}
}
public class A8{
static{
System.out.println("主类中的静态代码块");
}
public static void main(String[] args) {
new Person();
}
}