(1)定义一个标准的Person类,包含属性变量name,并包含属性对应的setXX/getXX方法(如setName方法和getName方法)、空参构造。 (2)使用反射的方式创建一个Person实例对象。 (3)使用反射方式调用setName()方法对name的值进行设置。 (4)设置之后,在通过反射方式执行getName()方法。使用java
时间: 2023-11-27 07:53:52 浏览: 65
eclipse代码生成工具(源码+插件),根据对象的settter生成setxx(xx);赋值语句,快捷键Ctrl+`
代码实现如下:
```
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class ReflectDemo {
public static void main(String[] args) throws Exception {
// 获取Person类的Class对象
Class clazz = Class.forName("Person");
// 通过反射创建Person实例对象
Constructor constructor = clazz.getConstructor();
Person person = (Person) constructor.newInstance();
// 通过反射调用setName方法设置name属性的值
Method setNameMethod = clazz.getMethod("setName", String.class);
setNameMethod.invoke(person, "Tom");
// 通过反射调用getName方法获取name属性的值
Method getNameMethod = clazz.getMethod("getName");
String name = (String) getNameMethod.invoke(person);
System.out.println(name);
}
}
class Person {
private String name;
public Person() {}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
```
运行结果为:
```
Tom
```
阅读全文