1.代码块
代码块定义:使用 { } 定义的一段代码。
根据代码块定义的位置以及关键字,由可分为以下四种:
- 普通代码块
- 构造快
- 静态块
- 同步代码块
1.1 普通代码块
普通代码块:定义在方法中的代码块。
eg:
public class Test {
public static void main(String[] args) {
{
int x = 10;
System.out.println("x = "+ x);
}
int x = 100;
System.out.println("x = "+ x);
}
}
一般如果方法中代码过长,为避免变量重名,使用普通代码块。
1.2 构造块
eg:
通过观察代码和运行结构可以看出:
构造块优先于构造方法执行,每产生一个新的对象就调用一次构造块,构造块可以进行简单地逻辑操作。(在调用构造方法之前)
1.3静态代码块
静态代码块:使用static定义的代码块。
静态代码块的主要作用是为static属性进行初始化。
更具静态块所在的类的不同又会分为以下俩种:
- 在非主类中
- 在主类中
1.3.1在非主类中的静态块
eg:
通过上述代码块可以发现:
1. 静态块优先于构造块执行。
2. 无论产生多少实例化对象,静态块都只执行一次。
1.3.2在主类中的代码块
eg:
根据代码可以看出:
在主类中的静态块,优先于主方法(main)执行。