Java反射

反射机制

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.比较后续操作


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。