Inhaltsverzeichnis:

Ist das Date-Objekt in Java veränderbar?
Ist das Date-Objekt in Java veränderbar?

Video: Ist das Date-Objekt in Java veränderbar?

Video: Ist das Date-Objekt in Java veränderbar?
Video: Class and Object in Java | Learn Coding 2024, November
Anonim

EIN veränderliches Objekt ist einfach ein Objekt der seinen Zustand nach dem Bau ändern kann. Zum Beispiel StringBuilder und Datum sind veränderliche Objekte , während String und Integer unveränderlich sind Objekte . Eine Klasse kann a. haben veränderliches Objekt als Feld.

Ist die Date-Klasse in Java ebenfalls unveränderlich?

Datum ist nicht unveränderlich , wir müssen eine defensive Kopie von. machen Java . nutz. Datum -Feld, während eine Referenz auf diese Instanzvariable zurückgegeben wird. Lass uns eine hypothetische Person erschaffen Klasse das hat name und dob als die einzigen zwei mitglieder.

Anschließend stellt sich die Frage, was ist ein unveränderliches Objekt in Java? Unveränderliche Objekte sind Objekte das ändert sich nicht. Du machst sie, dann kannst du sie nicht ändern. EIN Unveränderliches Java-Objekt müssen alle Felder interne, private Endfelder sein. Es darf keine Setter implementieren. Es braucht einen Konstruktor, der für jedes einzelne Feld einen Wert annimmt.

Sind hiervon Objekte in Java veränderbar?

Unveränderliche Objekte sind einfach Objekte wessen Staat (der Objekte Daten) können sich nach dem Bau nicht ändern. Beispiele von unveränderliche Objekte aus dem JDK enthalten String und Integer. Veränderbare Objekte Felder haben, die geändert werden können, unveränderliche Objekte haben keine Felder, die nach dem geändert werden können Objekt geschaffen.

Wie macht man ein Objekt in Java veränderbar?

Unveränderliche Klasse in Java

  1. Deklarieren Sie die Klasse als endgültig, damit sie nicht erweitert werden kann.
  2. Machen Sie alle Felder privat, damit kein direkter Zugriff möglich ist.
  3. Stellen Sie keine Setter-Methoden für Variablen bereit.
  4. Machen Sie alle änderbaren Felder endgültig, sodass ihr Wert nur einmal zugewiesen werden kann.
  5. Initialisieren Sie alle Felder über einen Konstruktor, der eine Tiefenkopie durchführt.

Empfohlen: