反射机制
java反射机制是指在程序运行过程中可以动态的获取任意类的属性和方法,并可以调用
百科上如下翻译

比较两个对象是否是一个类的实例: obj.getClass() == obj1.getClass()
一.类对象的获取
1.通过对象获取
Object obj =new Object();
obj.getClass();
2.通过类名获取
Object.class;
3.通过类的路径名获取
Class.forName("com.metadata.Student");
二、类成员变量的获取
1.获取公有变量,包括父类
public Field[] getFields()
publicField getField(String name)
2.获取当前类成员变量,忽略修饰符
public Field[] getDeclaredFields()
publicField getDeclaredField(String name)
三、类方法的获取
1.获取公有方法,包括父类
public Method[] getMethods()
public Method getMethod(String name, Class... parameterTypes)
2.获取当前类方法,忽略修饰符
public Method[] getDeclaredMethods()
public Method getDeclaredMethod(String name,Class... parameterTypes)
比较两个对象的属性值改变方案:
1.根据对象class获取该对象的属性数组
2.循环属性数组,通过 field.get(obj) 获取该属性在对象中的值
3.比较后续操作
