I am not sure whether its an intermediate question... Is there any way to make an object serializable or writing its current state in OutputStream with out implementing the Serializable interface. I came across Object's clone method and it use to make an exact copy of the object can that be used to do perform that operation.
If you want to serialise an object it must implement the tagging Serializable interface. Cloning gives you another copy of an objcet so you can play with it without altering the original fields. It does not provide for persistence, does not allow you to write with an OutputStream, and does not allow you to send the object across a network. You could however serialise the clone . . .
if your object has JavaBean characteristics, then you could use the java.beans.XMLEncoder/Decoder to serialize the object to an XML representation. It's not applicable everywhere where binary serialization or cloning is, but it has its own advantages.