What is ObjectStreamField used for?

John Zukowski

Starting with Java 2 Standard Edition, version 1.2, instead of using the transient keyword to define what fields are serializable within a class, you may create an array of ObjectStreamField objects to define the serializable fields within the class. This is demonstrated in How should I declare fields within my serializable class to prevent them from being serialized?