Like the Streams package, object streams use the handle-body pattern. This means that the classes
RWObjectOutputStream and
RWObjectInputStream, the handle classes, are intended to be used as-is. Object streaming behavior is extended and customized by deriving from the classes in the
RWObjectOutputStreamImp and
RWObjectInputStreamImp hierarchies, the body classes. Use of the handle-body pattern for streams means that they can be used as automatic variables (on the stack) and as instance variables without worrying about dynamic memory management.