Java 中的反射
来源:互联网 发布:万网域名后台登陆 编辑:程序博客网 时间:2024/06/08 09:33
一、反射:应用在程序运行时动态的发现类中的属性、方法动态的执行相关的方法。
二、在Java中反射的起点是类对象(class类型)
所有类的类对象只有一份,其获取方式有三种:
1)类名.class
2)类的对象.getClass();
3)Class.forName(“包名.类名”);
三、类对象的应用
1)通过类对象构建类的对象
Class<?> c = Class.forName(“包名.类名”) ;
Activity a = (Activity) c.newInstance();
注:采用此方式构建类的对象时有个前提:此类的中必须包含一个可访问的无参的构造方法;
2)通过类对象获得类中的构造方法对象
通过构造方法对象创建类的对象,通过getDeclaredConstructor(Class<?>...paramTypes),getDeclaredConstructor(),getConstructor()获得构造方法对象以后调用Constructor的newInstance(object...data)方法构建类的对象。
3)通过类对象获得类中的方法对象,然后动态调用方法
⑴获得Printer类对象
Class<?> c = Class.forName("类名.Printer");
⑵获得Printer类的额print方法对象
Method m = c.getDeclaredMethod("print",String.Class);
⑶通过反射调用方法
Object obj = m.invoke(c.newInstance(),"*****");
4)通过类对象获得属性对象,然后可给属性赋值或者获得属性的值
Class.forName("包名.类名");
Field f = c.getDeclaredField("flag");
f.setAccessible(true);
MySearchView sv = (MySearchView) c.newInstance();
f.set(sv.false);//赋值
Object obj = f.get(sv);//取值
System.out.println(obj);
- JAVA中的类反射
- Java中的反射
- Java中的类反射
- Java中的反射机制
- JAVA中的反射机制
- java 中的反射
- Java中的反射机制
- java中的反射机制
- JAVA中的反射机制
- Java中的反射机制
- java中的反射应用
- java中的反射
- Java中的反射
- Java中的反射机制
- java中的反射
- java中的反射
- java中的反射机制
- java中的反射问题
- TabHost空间的简单使用
- 圆
- 笔记
- Hadoop Install
- 大数据系列修炼-Scala课程77
- Java 中的反射
- 大数据系列修炼-Scala课程78
- 给定两个正整数,求两个数的正差值
- SlidingMenu配置
- 对话框
- 10月8日上机操作raptor
- 元一
- 郝斌老师C语言视频观感
- 工作起来心无旁骛这是你唯一的优点!