Tengo las siguientes clases:
class A implements Serializable { String field1; String field2; // a lot more fields here... } class B extends A { int someOtherField; } donde B es mi clase y A está en un paquete que no me pertenece. En mi entorno, un objeto de la clase B se serializa y luego se deserializará en un entorno diferente, donde solo la clase A está en el classpath y no la clase B , por lo que ocurrirá un error, que la clase B no se encuentra.
Para resolver este problema, podría agregar un constructor de copia a A de la siguiente manera y en lugar de serializar un objeto b , serializaría new A(b) :
A(A other) { this.field1 = other.field1; this.field1 = other.field1; // and so on } Mi problema ahora es que solo puedo cambiar B , pero no A . Entonces, ¿hay alguna forma de que pueda serializar una B y deserializarla como una A sin acceso al código fuente de A ?