¿Cómo puedo serializar una interfaz?

Supongamos que tengo unSerializable claseShapeHolder que posee un objeto que implementa unaSerializable Shape interfaz. Quiero asegurarme de que se guarda el objeto de forma concreta correcta (y luego se restaura el tipo correcto).

¿Cómo puedo lograr esto?

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;
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta