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 .
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
.
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?
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.
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.
Tags und Links java serialization