java实现一个反射的案例
时间: 2023-12-19 15:57:53 浏览: 75
JAVA反射代码
好的,关于 Java 反射的实现,这里提供一个简单的案例:
首先,我们需要定义一个类,示例代码如下:
```
public class Person {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
```
接着,我们定义一个反射工具类,该类可以动态加载一个类,并且获取该类中的方法和属性,示例代码如下:
```
public class ReflectUtil {
public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, NoSuchFieldException, ClassNotFoundException {
// 第一步,加载需要反射的类
Class clazz = Class.forName("Person");
// 第二步,获取类中的方法
Method setNameMethod = clazz.getMethod("setName", String.class);
// 第三步,获取类中的属性
Field nameField = clazz.getDeclaredField("name");
nameField.setAccessible(true);
// 第四步,动态调用方法和属性
Person person = new Person();
setNameMethod.invoke(person, "张三");
System.out.println(nameField.get(person));
}
}
```
上述代码中,我们通过反射技术动态加载了 Person 类,并且获取了其 setName() 方法和 name 属性。接着我们使用反射技术动态调用了 setName() 方法,并且获取了 name 属性的值。
希望对你有所帮助。
阅读全文