访问setName方法报错,怎么改正 Constructor constructor = clazz.getConstructor(); Object o = constructor.newInstance(); Method setName = clazz.getMethod("setName",clazz); setName.invoke(o,"小猫"); System.out.println(o);
时间: 2024-02-25 16:53:08 浏览: 80
自己纠错,自己做的项目纠错
这段代码中,第三行的 `clazz.getMethod("setName",clazz)` 中,第二个参数应该是 `String.class`,而不是 `clazz`,因为 `setName` 方法的参数类型是 `String` 而不是 `Class`。
修改后的代码如下所示:
```
Constructor constructor = clazz.getConstructor();
Object o = constructor.newInstance();
Method setName = clazz.getMethod("setName", String.class);
setName.invoke(o, "小猫");
System.out.println(o);
```
这样就可以正确地调用 `setName` 方法并为对象设置名字了。
阅读全文