您的位置 首页 java

莫让java常量蜕变成了变量,看看你是否中枪?

常量蜕变成变量?你胡扯呢吧,加了final 和 static 的常量怎么肯能会变呢?不可能二次赋值的呀。真的不可能吗?看我们神奇的魔术吧,代码如下:

public class Client{

public static void main(String[] args){

System.out.println(“常量会变哦:”+Const.RAND_CONST);

}

}

/*接口常量*/

interface Const{

public static final int RAND_CONST = new Random().nextInt();

}

RAND_CONST 是常量吗?它的值会变吗?绝对会变!这种常量的定义方式是极不可取的,常量就是常量,在编译期就必须确定值,不应该在运行期更改,否则程序的可读性会非常差,甚至连作者自己都不能确定在运行期发生了何种神奇的事情。

甭想着使用常量会变的这个功能来实现序列号 算法 、随机种子生成,除非这真的是项目中的唯一方案,否则就放弃吧,常量还是当常量使用。

注意:务必让常量的值在运行期保持不变。

文章来源:智云一二三科技

文章标题:莫让java常量蜕变成了变量,看看你是否中枪?

文章地址:https://www.zhihuclub.com/194993.shtml

关于作者: 智云科技

热门文章

网站地图