Comment puis-je sérialiser une interface?

Supposons que j'ai un Serializable classe ShapeHolder que possède un objet qui implémente un Serializable Shape interface. Je tiens à vous assurer que la bonne forme concrète de l'objet est enregistré (et le type correct est rétabli plus tard).

Comment puis-je y arriver?

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

OriginalL'auteur Jeff Axelrod | 2012-06-03