Java で 'final' キーワードを使用する理由はたくさんありますが、私が何度も耳にする理由の 1 つは、コードがより安全になるということです。これは、この些細なケースでは理にかなっているように見えますが:
public class Password
{
public final String passwordHash;
...
}
final キーワードを使用すると、悪意のあるコードが変数 passwordHash を変更できないことが予想されます。ただし、リフレクションを使用すると、passwordHash フィールドの final 修飾子を変更できます。
それでは、「最終」は本当のセキュリティを提供しますか、それとも単なるプラセボですか?
編集: いくつかの非常に興味深い議論があり、複数の回答を受け入れることができればいいのにと思います. ご意見をお寄せいただきありがとうございます。