JavaSE---初始化块
1、概述
1.1、对象 初始化 的方式 :
a, 构造器
b, 初始化块
1.2、初始化块
位置:类中的任意位置;
数量:同一个类中 可以 定义多个 初始化块;
执行时机:
优先 于 构造器;
按照 定义的顺序 依次执行;
1.3、静态初始化块
static修饰的初始化块;
位置: 类中任意位置;
数量:多个;
执行时机:在 类加载的初始化阶段 执行;
public class InitPart {
public static void main(String[] args) {
new InitPart();
//结果: static init part 1
//static init part 2
//init part 1
//init part 2
//constructor init
}
public InitPart(){
System.out.println("constructor init");
}
{
System.out.println("init part 1");
}
{
System.out.println("init part 2");
}
static {
System.out.println("static init part 1");
}
static {
System.out.println("static init part 2");
}
}
2、初始化块 与 构造器
初始化块
某种程度上 是构造器的扩展;
总是 优先于 构造器执行;
不能接受参数;
浙公网安备 33010602011771号