反射练习

来源:互联网 发布:robotdk编程软件 编辑:程序博客网 时间:2024/05/18 05:32

首先创建一个Student实体类:

public class Student {private int id;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
下面是通过PropertyDescriptor类利用反射对id属性进行赋值。

import java.beans.IntrospectionException;import java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;public class ReflectTest {public static void main(String[] args) throws IllegalAccessException,IllegalArgumentException, InvocationTargetException {Student s = new Student();try {PropertyDescriptor pd = new PropertyDescriptor("id", s.getClass());//获取student类中的id属性Method method = null;method = pd.getWriteMethod();//获取student类中的setId方法System.out.println(method);method.invoke(s, new Object[] { 1 });//为student类进行id赋值System.out.println(s.getId());} catch (IntrospectionException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
努力努力!!!!


0 0