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();
}
}