建议二 莫让变量蜕变成变量

《编写高质量代码:改善Java程序的151个建议》之建议二。

学习

让变量蜕变成变量的实现:

1
2
3
4
5
6
7
8
9
10
11
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
System.out.println("常量会变哦:" + Constt.RAND_CONST);
}
}
interface Constt{
public static final int RAND_CONST = (int)(Math.random() * 10);
}

评论

这个建议有点标题党了,这只是常量在初始化时使用了一个随机数而已,还以为真的有什么黑科技可以去修改常量的值。实际中真的会有人这么使用常量么?作者是这么说的:

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