1.静态代码块
①、格式
在java类中,使用static 关键字和{}声明在方法外类中的代码块就是静态静态代码块
public class Test {
static{
System.out.println("静态代码块");
}
}
②、执行时机
静态代码块的执行机制和类的初始化差不多,静态代码块在类被初始化的时候初始化,由于类的初始化只执行一次,所以在运行的时候静态代码块也只执行一次,如果一个类中有多个静态代码块则执行顺序由上到下依次有序执行。
③、静态代码块的作用
在开发中如果有些对象或者代码需要在类初始化的时候就执行,这个时候就可以将对象或者代码放到静态代码块中,例如在三层架构中contrller层经常要调用service层的代码,这时候controller就需要存在service中相关类的对象,这个时候就可以将该对象放到静态代码块中。
④、静态代码块不能存在任何方法体中
静态代码块的定义范围为类中方法外,类似于静态变量。
这个应该很好理解,首先我们要明确静态代码块是在类加载的时候就要运行了。我们分情况讨论
a.对于普通方法