0
使用ByteBuddy,我想创建一个具有私有构造函数的类的代理。这是类:如何在只有一个私有构造函数的类中创建代理?
public class Foo {
private Foo() {
}
}
我试过写这样的代码,但不工作?
public class CreateAndExecuteProxy {
public static void main(String[] args) throws Exception {
Constructor<?> superConstructor = Foo.class.getDeclaredConstructor();
Class<? extends Foo> proxyType = new ByteBuddy()
.subclass(Foo.class, ConstructorStrategy.Default.NO_CONSTRUCTORS)
.defineConstructor(Visibility.PUBLIC)
.intercept(MethodCall.invoke(superConstructor).onSuper())
.make()
.load(CreateAndExecuteProxy.class.getClassLoader(), ClassLoadingStrategy.Default.INJECTION)
.getLoaded();
Foo foo = proxyType.newInstance();
}
}