只引用某个类的编译期常量,一定会触发该类初始化吗?
参考答案
不一定。对可在编译期确定并被内联的 static final 常量的引用,可能不触发声明类初始化;读取需要运行期求值的静态字段则通常会触发初始化。
题目解析
判断前先看该字段是否满足常量变量条件,不能仅凭 static final 这两个修饰词下结论。
不一定。对可在编译期确定并被内联的 static final 常量的引用,可能不触发声明类初始化;读取需要运行期求值的静态字段则通常会触发初始化。
判断前先看该字段是否满足常量变量条件,不能仅凭 static final 这两个修饰词下结论。