Es gibt zwei Möglichkeiten, endgültige Objekte in Java zu erstellen: Deklarieren Sie eine endgültige Variable oder deklarieren Sie eine Klasse mit dem endgültigen Modifikator. Wenn Sie eine endgültige Variable deklarieren, wird das Objekt durch einen Initialisierer erstellt. Wenn Sie eine endgültige Klasse deklarieren, ist die Klasseninstanz unveränderlich. Wichtig ist, dass sich Verweise auf endgültige Objekte immer noch ändern können, die Objekte, auf die sie verweisen, jedoch unveränderlich sind.
So erstellen Sie endgültige Objekte in Java
In Java wird das Schlüsselwort final verwendet, um unveränderliche Objekte zu deklarieren. Dies bedeutet, dass es nach der Erstellung eines endgültigen Objekts nicht mehr möglich ist, seinen Zustand zu ändern. Dies ist nützlich, um threadsichere Klassen zu erstellen und eine versehentliche Änderung vertraulicher Daten zu verhindern.
Es gibt zwei Hauptmethoden, um ein endgültiges Objekt zu erstellen:
1. Deklarieren Sie eine endgültige Variable.
Die einfachste Möglichkeit besteht darin, eine endgültige Variable zu deklarieren und sie als Objekt zu initialisieren:
public class FinalObjectExample { private final String name; public FinalObjectExample(String name) { this.name = name; } public String getName() { return name; } }
2 finale Modifikatorklassen
Ein anderer Ansatz besteht darin, die gesamte Klasse mit dem finalen Modifikator zu deklarieren. Das bedeutet, dass Instanzen der Klasse unveränderlich sind:
public final class ImmutableClass { private final String value; public ImmutableClass(String value) { this.value = value; } public String getValue() { return value; } }
Es ist wichtig, sich daran zu erinnern, dass ein Verweis auf ein endgültiges Objekt immer noch selbst veränderbar sein kann. Das bedeutet, dass Sie einer anderen Variablen eine Referenz auf ein endgültiges Objekt zuweisen können:
FinalObjectExample obj1 = new FinalObjectExample("John"); FinalObjectExample obj2 = obj1; obj2.getName(); // 返回 "John"
Allerdings können Sie das Objekt, auf das die obj1- oder obj2-Referenz verweist, immer noch nicht ändern.
Praktischer Fall
Stellen Sie sich eine Klasse vor, die zum Speichern sensibler Daten verwendet wird:
public class SensitiveData { private final int id; private final String value; public SensitiveData(int id, String value) { this.id = id; this.value = value; } public int getId() { return id; } public String getValue() { return value; } }
Indem wir die Klasse als final deklarieren, können wir sicherstellen, dass die Daten nach der Erstellung unverändert bleiben, wodurch die Sicherheit verbessert wird.
Das obige ist der detaillierte Inhalt vonWie werden endgültige Objekte in Java erstellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!