初始化块
1 初始化块格式
[修饰符] {
}
注意:
1、修饰符无的时候称为普通代码块,修饰符为static时称为静态初始块;
2、一个类中虽然可以定义多个初始化块,但是没啥意义,因为初始化块是隐式调用的,且全部执行,所以放在一个初始化块就足够啦。
2 初始化块和构造器
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191122111958493.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhaXlpYmVpaml3ZWlqaXU=,size_16,color_FFFFFF,t_70)
子类构造器向上找,普通\静态初始化块向上找。
3 静态初始化块和普通初始化块
关键字static的不同。static那一套在这里适用。
普通代码块在构造器前执行,每执行一次构造器,就先执行一次普通代码块。
静态初始化块,只在类加载的时候执行一次。