- ReflectTest.java
- package com.itheima.day1;
- public class ReflectPoint {
- private int x ;
- private int y ;
-
- public ReflectPoint(int x, int y) {
- super();
- this.x = x;
- this.y = y;
- }
- public int getX() {
- return x ;
- }
- public void setX(int x) {
- this.x = x;
- }
- public int getY() {
- return y ;
- }
- public void setY(int y) {
- this.y = y;
- }
- }
- ReflectTest.java
- package com.itheima.day1;
- import java.beans.PropertyDescriptor;
- import java.lang.reflect.Method;
- public class ReflectTest {
- public static void main(String[] args) throws Exception {
- ReflectPoint pt1 = new ReflectPoint(3, 5);
-
- String propertyName = "x";
- PropertyDescriptor pd1 = new PropertyDescriptor(propertyName, pt1.getClass());
- Method readMethod = pd1.getReadMethod();
- Object retVal = readMethod.invoke(pt1);
- System. out.println(retVal);
- //结果:3
-
- PropertyDescriptor pd2 = new PropertyDescriptor(propertyName, pt1.getClass());
- Method writeMethod = pd2.getWriteMethod();
- Object value = 7;
- writeMethod.invoke(pt1,value);
- System. out.println(pt1.getX());
- //结果:7
- }
- }
复制代码 |