非静态内部类的方法和构造函数的第一个参数是一个隐含的对外部类的引用,所以内部类构造函数的参数个数是两个,你得这么写:
- public static void reflection_2() throws Exception {
- Test t = new Test();
- Constructor con = Person.class.getConstructor(Test.class, String.class);
- Person person = (Person) con.newInstance(t, "haha");
- System.out.println(person.getName());
- }
复制代码 |