Если вы не хотите использовать transient
(почему бы и нет?), Вы можете реализовать Externalizable и реализовать свой собственный протокол:
public class Spaceship implements Externalizable {
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
// ...
}
public void writeExternal(ObjectOutput out) throws IOException {
// ...
}
}
Если это слишком экстремально, может быть, вы просто хотите немного настроить сериализацию? Продолжайте внедрять Serializable
и внедрять свои собственные методы writeObject
и readObject
.
Вот несколько примеров: http://java.sun.com/developer/technicalArticles/Programming/serialization/