Es gibt einen Weg in Programmiersprachen, dem Compiler zu sagen, dass ein Datenstück konstant ist. Es gibt zwei Anforderungen
1. Eine Compiler -Konstante, die sich nie ändert
2. Ein Wert, der zur Laufzeit initialisiert wird, und dieser Wert wird nicht geändert
Verwenden Sie in Java endgültige Modifikator -Variablen, um diese beiden Anforderungen zu erfüllen
<pre name = "code"> // Compiler Constant Private Final int valueone = 9; private statische endgültige int value_two = 99; Public static Final int value_THEe = 39; // Der zur Laufzeit initialisierte Wert wird nicht geändert, und der Wert wird nicht geändert.
Halten Sie die Daten konstant und unverändert, wenn die endgültige Modifikation des grundlegenden Datentyps modifiziert ist
Bei der endgültigen Änderung der Objektreferenz wird die Referenz konstant gehalten. Sobald die Referenz initialisiert ist, um auf ein Objekt zu verweisen, kann sie nicht so geändert werden, dass sie auf ein anderes Objekt verweist.
Das Objekt selbst kann jedoch geändert werden
Endgültige Änderungsparameter in der Liste der Methodenparameterliste, was bedeutet, dass das Objekt durch die Parameterreferenz in der Methode nicht geändert werden kann. Diese Funktion wird hauptsächlich zum Übergeben von Daten an anonyme interne Klassen verwendet.
Auch in Java
Der Zweck der endgültigen Modifikationsmethode besteht darin, Unterklassen explizit zu verbieten, diese Methode zu überschreiben
Endgültige Modifikationsklasse, Vererbung ist verboten
Wie implementieren Sie diese beiden Anforderungen in C#?
Anforderung 1: Compilerkonstanten
Const modifiziert Konstanten, die zur Kompilierungszeit für Berechnungen verwendet werden müssen. Konstanten sind immer statisch, müssen aber nicht (eigentlich nicht erlaubt) Modifikator statisch in einer konstanten Erklärung einbeziehen
Anforderung 2: Laufzeitkonstanten
Das Readonly -Schlüsselwort erfordert möglicherweise manchmal einige Variablen, deren Wert nicht geändert werden sollte, aber sein Wert ist vor dem Ausführen unbekannt.
C# bietet eine andere Art von Variable für diese Situation: schreibgeschützte Felder
Auch in C#
Die versiegelte Modifikationsmethode besteht darin, Unterklassen explizit zu verbieten, diese Methode zu überschreiben.
Versiegelte Modifikationsklasse, Vererbung ist verboten
Das obige ist die kurze Diskussion des endgültigen Keywords in Java und der CONT- und Readonly -Schlüsselwörter in C#. Ich hoffe, jeder kann Wulin.com unterstützen ~