Es gibt zwar viele Gründe für die Verwendung des Schlüsselworts 'final' in Java Eine der Aussagen, die ich immer wieder höre, ist, dass der Code dadurch sicherer wird. Das scheint in diesem trivialen Fall zwar sinnvoll zu sein:
public class Password
{
public final String passwordHash;
...
}
Mit dem letzten Schlüsselwort würde man erwarten, dass kein bösartiger Code in der Lage ist, die Variable passwordHash zu ändern. Allerdings, durch Reflexion ist es möglich, den endgültigen Modifikator für das Feld passwordHash zu ändern.
Bietet "final" also wirklich Sicherheit oder ist es nur ein Placebo?
Editar: Es gibt eine wirklich interessante Diskussion, und ich wünschte, ich könnte mehr als eine Antwort akzeptieren. Vielen Dank an alle für ihre Beiträge.
0 Stimmen
Hier ist eine Verbindung das mehrere (von Oracle geschriebene) Beispiele enthält, die zeigen, wie die endgültig Schlüsselwort kann für Sicherheitszwecke verwendet werden.