Tipps für das Klonen von Java-Objekten

Ihrer Voreinstellung nach unterstützen die Klassen in Java das Klonen nicht; die voreingestellte Implementierung der clone()-Methode gibt eine CloneNotSupportedException aus. Die Implementierung der clone()-Methode sollte übergangen werden. Man erinnere sich, dass diese öffentlich gemacht werden muss und dass innerhalb der Methode die erste Handlung super.clone() zwingend ist.

Klassen, die das Klonen erlauben sollen, brauchen die Implementierung des Markierungs-Interfaces Clonable. Da die voreingestellte Implementierung von Object.clone lediglich eine flache Kopie erzeugt, müssen die Klassen ebenfalls clone übergehen, um bei Bedarf eine eigene Implementierung anzubieten, die eine tiefe Kopie erzeugt. Wenn die Objekte einer Klasse öffentlich zu klonen sein sollen, empfiehlt es sich den Code so zu formulieren:

Reicht eine geschützte Kopie, die einfach blind die Rohdaten des Objekts übernimmt, bedarf es keiner Neudefinierung einer eigenen Version. Gewöhnlich wird jedoch eine öffentliche Version gebraucht. (Achtung: Es besteht keine Möglichkeit, einen Klon mit privater oder standardgemäßer Zugänglichkeit zu erzeugen; die Sichtbarkeit kann nur erhöht werden, wenn man die Voreinstellung übergeht.)

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

2 Tagen ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

2 Tagen ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

3 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

3 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

3 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

3 Tagen ago