0
我想在一个生成的类中执行一个方法,该类扩展了一个抽象泛型,但它抛出java.lang.AbstractMethodError。java.lang.AbstractMethodError与javassist和抽象泛型类
PS:不产生通用类
实施例:
public abstract class AbstractSpecification<T> implements Specification<T>{
public abstract boolean isSatisfiedBy(T t);
public Specification<T> and(final Specification<T> specification) {
return new AndSpecification<T>(this, specification);
}
}
生成的类是
ClassPool pool = new ClassPool(true);
pool.insertClassPath(new ClassClassPath(AbstractSpecification.class));
CtClass abstractClazz = pool.get("com.mycompany.AbstractSpecification");
CtClass myclass = pool.makeClass("ValidAge");
myclass.setSuperclass(abstractClazz);
.
.
.
调用isSatisfiedBy
作品但and
抛出java.lang.AbstractMethodError
我假设你是在OSGi运行时内的一个包中做这个,这就是为什么你添加了'osgi'标签。如果确实如此,则需要提供有关环境的更多详细信息以及生成和调用方法的位置和方式。 –