Serializable und Transienten

Um eine Klasse serialisierbar machen wir das folgende:

class A implements Serializable {
    transient Object a;
}

Und nicht dieses:

serializable class A {
   transient Object a;
}

Warum, wenn wir wollen, um eine Klasse serialisierbar, tun wir implementieren eine spezielle Schnittstelle. Und wenn wir wollen, um einige Felder, die wir verwenden, die Stichwort transient?
Warum nicht spezielle Schlüsselwörter, die in beiden Fällen? Ich meine, gab es irgendwelche Gründe, um die gleiche Sache in unterschiedlicher Weise? Ich weiß, es gibt kein solches keyword als serializable aber warum wurde das nicht eingeführt, statt der speziellen Schnittstelle Serializable?

Huh? Ich bin 100% verwirrt... und Ihre Terminologie ist nicht zu helfen. Für den Anfang: wenn Sie wollen eine Klasse serializable, dann haben Sie die Klasse Umsetzung der Schnittstelle Serializable.
Das würde meen serialisieren, die nur einen Wert nicht?
Aber ich denke, die Frage ist zu Fragen, warum Serializable fühlt gepfropft auf die Sprache. Und ich denke, die Antwort ist, weil es ist.
warum ist dann transient, nicht? Wenn irgendetwas, es muss haben wurden erst später eingeführt, weil Sie kann haben die Serialisierungs-Mechanismus ohne vorübergehende Mitglieder, aber nicht Umgekehrt.
Borgwardt: Gute Frage. Sieht es aus java.sun.com/docs/books/jls/first_edition/html/1.1Update.html, als ob Sie setzen die transient Schlüsselwort in der ersten Ausgabe von der Sprache, aber nicht es zu aktivieren, bis Sie Hinzugefügt Serializable im 1.1.

InformationsquelleAutor andrii | 2009-12-17

Schreibe einen Kommentar