Предположим, что у меня есть абстрактный класс
public abstract class Base implements Serializable {
static final long serialVersionUID = 1;
public Base(int x) { ... }
public abstract void baseMethod();
}
а затем я динамически создаю класс
public class Temp {
public Base getBase() {
return new Base(2) {
static final long serialVersionUID = 1;
@Override
public void baseMethod() { .... }
};
}
}
Я могу динамически генерировать класс Temp из строки, вызывать новый экземпляр, извлекать базовый объект и использовать его как любой другой экземпляр, расширяющий базу. Проблема возникает, когда я сериализую. Я могу сериализовать базовый объект Base, который я извлекаю из динамического класса Temp, но затем я не могу десериализовать позже в другом сеансе, потому что Temp больше не находится на пути к классу.
Ребята, вы можете придумать какой-нибудь способ обойти это? Должен быть способ получить рассматриваемый базовый объект отдельно от класса Temp (о котором я никогда не забочусь после того, как извлек из него базовый класс). Объект Base не зависит ни от чего в классе Temp.
I am able to generate the class Temp from a String dynamically
. Как вы создаете объект Temp изString
? - person Vishal K   schedule 23.02.2013