代码块分为“构造代码块”、“局部代码块”、“静态代码块”
构造代码块
大括号位于成员变量处,给对象统一初始化
构造代码块要注意的事项:
1. 编译器编译源文件时,自动把成员变量的声明语句提至类的最前端。
2. 成员变量的初始化工作其实都在构造函数中执行的。
3. 编译器编译后,构造代码块中的代码会被移动到所有构造函数中,并且是在构造函数最前端。
4. 成员变量的显示初始化与构造代码块的代码是按照当前代码的顺序执行的。
class Demo
{
int i = 1;
{
i = 2;
}
public Demo()
{
i = 3;
}
}
编译后
class Demo
{
int i;
public Demo()
{
i = 1;
i = 2;
i = 3;
}
}
局部代码块
大括号位于方法内部,有效缩短局部变量的生命周期,节约内存。
静态代码块
static + 大括号,位于成员变量处