什么是代码块?
在Java中,由{}括起来的一段代码,表示一块代码区域。代码块中的变量属于局部变量,只能在所在的局域有作用。
代码块的三种形式
根据代码块的定义位置不同,分成三种形式:
1.局部代码块,一般来讲不会直接使用局部代码块而是结合if,while,for,try等关键字使用
2.初始化代码块(构造代码块),每次创建对象都会调用构造器,在调用构造器之前会先执行本类中的初始化代码块。通过反编译发现,初始化代码块也作为构造器的最初语句。
Constructor()
{
super([arguments]);
初始化代码块;
其他代码;
}
3.静态代码块,使用static修饰的初始化代码块
在main执行之前执行静态代码块,而且只能被执行一次
main方法是程序入口,为什么静态代码块先于main方法执行?
静态成员随着字节码加载,也加载进JVM,此时main方法还没被JVM调用。
先把字节码加载进JVM,在调用main方法,一般用来加载资源,加载配置文件等。