我正在开发一个 Java 库,它使用 cglib 创建库用户提供的抽象类的子类,并提供用户留下的抽象方法的自动生成实现。
我的问题是,如果所讨论的方法具有包本地(即默认)可访问性,那么我生成的方法显然被忽略了,并且用户在调用它时会得到一个 AbstractMethodError 。
我生成的类与原始类在同一个包中(我生成一个名称为 original.package.OriginalClassName_AutomaticImplementation 的类),尽管它们当然是由不同的类加载器加载的(即加载由 cglib 生成的字节数组而不是比磁盘文件);我怀疑这是问题所在。如果是这样,有什么办法可以解决吗?