尝试将自定义对象写入 outputStream 时获取 java.io.NotSerializableException

Getting a java.io.NotSerializableException when trying to write custom object to outputStream

try
{
    CompressedMessage cMessage = new CompressedMessage(messageArea.getText(), false);
    cMessage.compressMessage();         
    EncryptedMessage eMessage = new EncryptedMessage(MessageType.USERMESSAGE, "", cMessage);
    outputStream.writeObject(eMessage);
}
catch (IOException e1)
{
    System.out.println(e1);
    System.exit(1);
}

我正在尝试向服务器(本地 atm)发送消息,在尝试发送 EncryptedMessage 对象之前(以字符串形式)发送数据时没有问题。

public class EncryptedMessage
{
    private MessageType type;
    private String receipent;
    private CompressedMessage message;

    public EncryptedMessage(MessageType T, String R, CompressedMessage mes)
    {
        type = T;
        receipent = R;
        message = mes;
    }

    public MessageType getType()
    {
        return type;
    }
    public void setType(MessageType type)
    {
        this.type = type;
    }
    public String getReceipent()
    {
        return receipent;
    }
    public void setReceipent(String receipent)
    {
        this.receipent = receipent;
    }
    public CompressedMessage getMessage()
    {
        return message;
    }
}

如有任何帮助,我们将不胜感激

EncryptedMessage 和 CompressedMessage 应该实现 Serializable .