Java final modifier

ir wurde gesagt, dass ich die Auswirkungen von @ falsch verstefinal. Was sind die Auswirkungen vonfinal Stichwort

Hier ist ein kurzer Überblick über das, was ich denke, ich weiß:

Java final Modifier (auch Aggregationsrelation genannt)

primitive Variablen: kann nur einmal eingestellt werden. (Gedächtnis und Leistungsgewinn)
Objektvariablen: kann geändert werden, final gilt für Objektreferenz.
Felder: kann nur einmal eingestellt werden.
methods: Kann nicht überschrieben oder ausgeblendet werden.
Klasse: kann nicht erweitert werden.
Speicherbereinigung: Java-Garbage-Collection-Mark-Sweep wird zum Double-Sweep gezwungen.

Can's und Cant'sKann den Klon zum Scheitern bringen (das ist sowohl gut als auch schlecht)Kann unveränderliche Primitive aka const @ machKann leer unveränderlich machen - bei der Erstellung initialisiert aka readonlyKann Objekte flach unveränderlich machenKann Umfang / Sichtbarkeit unveränderlich machenKann den Aufwand für den Methodenaufruf verringern (da keine virtuelle Tabelle erforderlich ist)Kann Methodenargumente als final verwenden (auch wenn dies nicht der Fall ist)Kann Objekte threadsicher machen (wenn Objekt als final definiert ist, werden Methodenargumente nicht final gemacht)Kann Scheinprüfungen durchführen (nicht, dass du etwas dagegen unternehmen könntest - du kannst sagen, dass Fehler beabsichtigt sind) Kann keine Freunde finden (veränderlich mit anderen Freunden und unveränderlich für die Ruhe) Kann nicht veränderbar machen, dass später unveränderlich wird (kann aber mit Fabrikmuster wie fix) Kann nicht Array-Elemente unveränderlich aka tief unveränderlich machen Es können keine neuen Instanzen von Objekten erstellt werden (dies ist sowohl gut als auch schlecht) Serialisierung funktioniert nicht

Es gibt keine Alternativen zufinal, aber es gibt wrapper + private und enums.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage