Java“final”关键字是否真的提高了安全性?
虽然在Java中使用“final”关键字有很多原因,但我一遍又一遍地听到的一个原因是它使您的代码更安全。虽然在这个微不足道的情况下,这似乎是有道理的:
public class Password
{
public final String passwordHash;
...
}
使用最终关键字,您会期望没有恶意代码能够更改变量 passwordHash。但是,使用反射可以更改 passwordHash 字段上的最终修饰符。
那么,“最终”是否提供了任何真正的安全感,或者它只是安慰剂?
编辑:有一些非常有趣的讨论,我希望我能接受不止一个答案。谢谢大家的投入。