-
在类的运行过程中动态探测类的属性和行为的一种机制
-
Java中的对象
-
普通类的对象 newPerson()
-
类对象(Class)
1>通过 类名.class 获取类对象
2>通过 类的对象.getClass();//通过类的对象获取到当前类的对象所属的类型的类对象
3>通过类名获取类对象 Class.forName(name); -
属性对象(Field)
//Person类 对象
Class cls = Class.forName(“Person”);
//使用 类对象 创建 类的对象
Object obj = cls.newInstance();
Field fieldName = cls.getField(“name”);
//设置对象的属性值
fieldName.set(obj, “小红”);
//获取对象的属性值
Object value = fieldName.get(obj);
System.out.println(value); -
方法对象(Method)
//Person类 的 对象
Person person = new Person();
//Person类 对象
Class cls1 = Person.class;
Class cls2 = person.getClass();
Class cls3 = Class.forName(“Person”);
Method method = cls1.getMethod(“say”, String.class, Integer.class);
-
-
使用类对象创建类的对象
//使用 类对象 创建 类的对象
Object objPerson = cls1.newInstance();//使用方法对象调用方法 methodSay.invoke(objPerson, "小花花", 18);
-
获取私有方法和属性
//获取私有方法和属性
Method method = cls.getDeclaredMethod(“say”, String.class, Integer.class); -
反射的应用场景
- 动态创建对象
- 使用私有的成员
Java中的反射机制
最新推荐文章于 2023-05-27 18:02:53 发布