欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

常量就真的不会变化了?

程序员文章站 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”这样的运行结果,和我们对常量的想象不同,他好像是可变的了,而且还会随机影响到程序的运行结果,使用以上的随机赋值方式,会让常量在运行期出现变化,而常量一般是在编译期就需要确定了,然后在类的准备阶段直接赋值。常量可以变化,但是如果真的想当常量用,那么就得保持常量的值在运行期是不变的,不要影响到程序的运行结果。