Jak mogę serializować interfejs?

Przypuśćmy, że mamSerializable klasaShapeHolder który jest właścicielem obiektu, który implementuje aSerializable Shape berło. Chcę się upewnić, że zapisano właściwy obiekt o konkretnym kształcie (a później poprawny typ zostanie przywrócony).

Jak mogę to osiągnąć?

interface Shape extends Serializable {} 

class Circle implements Shape { 
   private static final long serialVersionUID = -1306760703066967345L;
}

class ShapeHolder implements Serializable {
   private static final long serialVersionUID = 1952358793540268673L;
   public Shape shape;
}

questionAnswers(3)

yourAnswerToTheQuestion