使用java反射中的invoke方法对于Person类调用其setter和getter。
时间: 2024-03-15 14:46:38 浏览: 107
通过反射调用类setter及getter-java语法总结
好的,可以的。首先,我们需要获取Person类的Class对象。可以通过以下代码来实现:
```
Class<?> personClass = Person.class;
```
接着,我们可以使用getMethod方法来获取setter和getter方法,例如:
```
Method setNameMethod = personClass.getMethod("setName", String.class);
Method getNameMethod = personClass.getMethod("getName");
```
这里,setNameMethod和getNameMethod分别对应Person类中的setName和getName方法,参数String.class表示setName方法需要一个String类型的参数。
然后,我们可以使用invoke方法来调用setter和getter方法,例如:
```
Person person = new Person();
setNameMethod.invoke(person, "John");
String name = (String) getNameMethod.invoke(person);
```
这里,我们首先创建了一个Person对象,然后使用setNameMethod来调用setName方法设置name属性为"John",接着使用getNameMethod来调用getName方法获取name属性的值并赋值给name变量。
注意,由于invoke方法返回的是Object类型,我们需要进行强制类型转换才能得到正确的返回值。
阅读全文