常量就真的不会变化了?
程序员文章站
2022-05-14 15:54:34
...
测试代码demo:
public class ConstantTest {
private static final int CONSTANT = new Random().nextInt(6);
public static void main(String[] args) {
System.out.println("CONSTANT=" + CONSTANT);
}
}
分别启动两次,
第一次运行结果如下:
第二次运行结果如下:
会发现结果是不同的,而且大概率出现的是“执行业务逻辑2”这样的运行结果,和我们对常量的想象不同,他好像是可变的了,而且还会随机影响到程序的运行结果,使用以上的随机赋值方式,会让常量在运行期出现变化,而常量一般是在编译期就需要确定了,然后在类的准备阶段直接赋值。常量可以变化,但是如果真的想当常量用,那么就得保持常量的值在运行期是不变的,不要影响到程序的运行结果。
下一篇: 一道跟string有关的题