次のクラス宣言を検討してください。
class A{
private String x;
public A(String x) {
this.x = x;
}
}
次のコードで javassist を使用してクラス A のプロキシを作成しようとすると:
ProxyFactory factory = new ProxyFactory();
factory.setSuperclass(A.class);
MethodHandler mh = new MethodHandler() {...};
A a = (A) factory.create(new Class<?>[0], new String(){"hello"}, mh);
それから私は得たjava.lang.RuntimeException: java.lang.NoSuchMethodException: app.test.A_$$_javassist_0.<init>()
create メソッドに渡される 2 番目の引数のパラメーターの型に基づいて、javassist が正しいコンストラクターを使用してクラス A をインスタンス化しないのはなぜですか?