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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白春秋 中级黑马   /  2015-3-9 15:41  /  557 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

反射
1. 一段java代码在程序运行期间会经历三个阶段: source-->class-->runtime
2. Class 对象
在java中用一个Class对象来表示一个java类的class阶段
Class对象封装了一个java类中定义的成员变量、成员方法、构造方法、类名、包名等
3. 反射
反射就是获得一个java类的各个组成部分
4. 反射的用法
1)需要获得java类的各个组成部分,首先需要获得代表java类的 Class 对象
获得Class对象的三种方式:
Class.forName(classname)        用于做类加载
obj.getClass()        用于获得对象的类型
类名.class            用于获得指定的类型,传参用
2) 反射类的成员方法
Class clazz = Person.class;
Method method = clazz.getMethod(methodName, new Class[]{paramClazz1, paramClazz2});
method.invoke();
3) 反射类的构造函数
Constructor con = clazz.getConstructor(new Class[]{paramClazz1, paramClazz2,...})
con.newInstance(params...)
4) 反射类的属性
Field field = clazz.getField(fieldName);
field.setAccessible(true);
field.setObject(value);
5. 反射用在哪里
到底框架是什么?  框架就是将开发中大量重复的代码集中起来写个通用的程序
框架就是用反射来实现的
框架需要现在的类调用将来写的类

框架是将来的程序员调用的,框架不能实现完整的功能,框架只是一些一些通用的代码
框架要运行一定会依赖将来写的类
现在写的类要调用将来写的类,我们先针对接口进行调用,将来的类需要实现接口,那么方法就固定了
但是将来写的类的类名我们无法获知,这时就需要调用者通过配置文件告诉框架具体的类名


0 个回复

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