Was ist Serializable in Java? [Duplikat]

7

Ich habe

%Vor%

Was nützt das und was passiert, wenn ich einfach

benutze? %Vor%     
Community 10.03.2011, 14:22
quelle

7 Antworten

12

serializable ist eine spezielle Schnittstelle, die angibt, dass die Klasse serialisiert werden kann. Das Besondere daran ist, dass es im Gegensatz zu einer normalen Schnittstelle keine Methoden definiert, die implementiert werden müssen: Es markiert die Klasse einfach als serialisierbar. Weitere Informationen finden Sie in den Java Dokumenten .

Was "serialisierbar" bedeutet, bedeutet einfach, eine Instanz einer Klasse (eines Objekts) in ein Format zu konvertieren, in dem sie auf die Festplatte geschrieben oder möglicherweise über ein Netzwerk übertragen werden kann. Sie könnten beispielsweise Ihr Objekt auf Festplatte speichern und später erneut laden, wobei alle Feldwerte und der interne Status gespeichert sind. Weitere Informationen finden Sie auf der wikipedia Seite .

    
Richard H 10.03.2011, 14:31
quelle
6

Wenn Sie niemals eine Instanz von Person serialisieren, ist es nicht sinnvoll, implements Serializable zu deklarieren. Wenn Sie dies nicht tun und versuchen, eine Instanz zu serialisieren, erhalten Sie eine NotSerializableException .

    
Michael Borgwardt 10.03.2011 14:26
quelle
3

Die Serialisierung stellt sicher, dass Daten über das Netzwerk gesendet werden können und mithilfe des Serialisierungs- / Deserialisierungsmechanismus beibehalten und in den ursprünglichen Zustand zurückversetzt werden können.

    
Deepak 10.03.2011 14:29
quelle
1

Grundsätzlich ist es eine Marker-Schnittstelle, die besagt, dass Ihre Klasse serialisiert werden kann. Weitere Informationen finden Sie hier .

    
lindsten 10.03.2011 14:26
quelle
1

Serializable ist nur eine Marker-Schnittstelle. Es ist vollständig leer. Es ermöglicht dem Serialisierungsmechanismus einfach zu überprüfen, dass die Klasse beibehalten werden kann.

Siehe auch folgende Warum Java eine serialisierbare Schnittstelle benötigt?

    
ashishjmeshram 10.03.2011 14:27
quelle
1

Dies ist eine Markerschnittstelle , um diese Klasse als serialisierbar . Sie sollten google für "Java-Serialisierung" googeln, da dieses Thema durch hunderte Tutorials und Artikel ausreichend abgedeckt wird. Sie könnten sogar direkt bei Wikipedia anfangen . Kurz gesagt, bei der Serialisierung geht es darum, ganze Objektdiagramme aus Streams wie Dateien oder Netzwerk-Sockets zu lesen und zu schreiben.

    
sfussenegger 10.03.2011 14:26
quelle
0

Das J2SE-Dokument lautet:

  

Die Serialisierbarkeit einer Klasse wird von der Klasse ermöglicht, die die java.io.Serializable-Schnittstelle implementiert. Für Klassen, die diese Schnittstelle nicht implementieren, wird der Status nicht serialisiert oder deserialisiert . Alle Subtypen einer serialisierbaren Klasse sind selbst serialisierbar. Die Serialisierungsschnittstelle hat keine Methoden oder Felder und dient nur dazu, die Semantik der Serialisierung zu identifizieren.

Im Grunde ist es die Schnittstelle, die Sie implementieren müssen, um Klassen in Java zu serialisieren.

    
Agusti-N 10.03.2011 14:28
quelle

Tags und Links