public class Piyo {
public class Foo {
}
public static void main(String[] args) throws Exception {
Object o = FastReflect.newInstance("test.Piyo$Foo");
System.out.println(o.getClass().getName());
}
}
とした場合、Object型のインスタンスが返される。
エンクロージング型内部クラスFooのnewの場合、
Piyo piyo = new Piyo();
Object o = FastReflect.newInstance("test.Piyo$Foo", piyo);
とした場合、Object型のインスタンスが返される。
エンクロージング型内部クラスFooのnewの場合、
といったように外部クラスのインスタンスを第一引数で渡す必要があるが、これを渡さなかった場合、 コンストラクタを発見できずにObject型のインスタンスを生成している様子。 メソッドの仕様としてはNoSuchMethodExceptionが投げられるべき。