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