A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© LiuKang 中级黑马   /  2013-12-9 14:03  /  1170 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

反射:反射就是把java类中的各个成分映射成相应java类.就是可以获得一个类的所有信息,反射的作用就是用来做框架.
可以用反射得到类中的那些内容想要获得下面的方法,第一步要通过反射得到类的字节码文件,然后再调用方法)
得到字节码的方式类名.class 对象.getClass()        Class.forName(“类名 ”)三种方式得到的是同一个字节码文件
Constructor constructor1 = String.class.getConstructor(StringBuffer.class);
String str = (String)constructor1.newInstance(new StringBuffer("abc"));
Field fieldY = pt1.getClass().getField("y");
fieldY.get(pt1)(需要指定此变量的值是哪个对象的)
Field fieldX = pt1.getClass().getDeclaredField("x");
fieldX.setAccessible(true);(暴力反射)
暴力反射:通过反射得到私有成员变量时,通过setAccessible暴力获得权限
Object obj = (Object)Class.forName(className).newInstance();
Methord 方法名 = String.class.getMethord(想要得到的方法名,和数据类型.class)
第二步: 方法名.invoke(obj,有参数传参数)方法,调用其方法.

用反射做框架,通过反射能得到类中的构造方法,成员变量和方法

评分

参与人数 1黑马币 +1 收起 理由
FFF + 1 同学,你的总结还可以再详细一点哦.

查看全部评分

1 个回复

倒序浏览
您需要登录后才可以回帖 登录 | 加入黑马