枚举 - 静态和实例块
- 论坛
- 枚举 - 静态和实例块
9 浏览
枚举 - 静态和实例块
我了解到在Java中,静态块在类初始化时执行,实例块在每个类实例的构建之前执行。我一直看到静态块在实例块之前执行。为什么对于enums
来说情况相反呢?
有人可以解释一下这段示例代码的输出吗:
enum CoffeeSize { BIG(8), LARGE(10),HUGE(12),OVERWHELMING(); private int ounces ; static { System.out.println("静态块"); } { System.out.println("实例块"); } private CoffeeSize(int ounces){ this.ounces = ounces; System.out.println(ounces); } private CoffeeSize(){ this.ounces = 20; System.out.println(ounces); } public int getOunces() { return ounces; } }
输出:
实例块
8
实例块
10
实例块
12
实例块
20
静态块