The intention is to suppress the default serialization behavior for certain types for which a readObject/writeObject is provided. While the transient keyword may have the same effect, the fields are not at all transient in nature. They _should_ be serialized, just not via the default mechanism.