知灵犀知练
← 返回

Java 虚拟机进阶简答题

只引用某个类的编译期常量,一定会触发该类初始化吗?

参考答案

不一定。对可在编译期确定并被内联的 static final 常量的引用,可能不触发声明类初始化;读取需要运行期求值的静态字段则通常会触发初始化。

题目解析

判断前先看该字段是否满足常量变量条件,不能仅凭 static final 这两个修饰词下结论。