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