目录
一.代码块概念以及分类
二.普通代码块
三.构造代码块
四.静态代码块
一.代码块概念以及分类
使用 {} 定义的一段代码称为代码块。根据代码块定义的位置以及关键字,又可分为以下四种:
- 普通代码块
- 构造块
- 静态块
- 同步代码块(后续讲解多线程部分再谈)
二.普通代码块
普通代码块:定义在方法中的代码块,用法较少见。
public class Main{
public static void main(String[] args) {
{ //直接使用{}定义,普通方法块
int x = 10 ;
System.out.println("x1 = " +x);
}
int x = 100 ;
System.out.println("x2 = " +x);
}
}
// 执行结果
x1 = 10
x2 = 100
三.构造代码块
构造块:定义在类中的代码块(不加修饰符)。也叫:实例代码块、非静态代码块。构造代码块一般用于初始化实例成员变量。
说明:实例代码块的执行优于构造代码块的执行
四.静态代码块
使用static定义的代码块称为静态代码块。一般用于初始化静态成员变量。
注意事项
- 静态代码块不管生成多少个对象,其只会执行一次,因为类只会加载一次
代码示例:
输出结果:
- 静态成员变量是类的属性,因此是在JVM加载类时开辟空间并初始化的
- 如果一个类中包含多个静态代码块,在编译代码时,编译器会按照定义的先后次序依次执行(合并)
代码示例:
输出结果:
- 实例代码块只有在创建对象时才会执行
代码示例:
输出结果: