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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© feitianmao627 中级黑马   /  2015-5-14 23:47  /  870 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通过Class对象:
                  1.获取类的构造方法,并调用;
                          public Constructor[] getConstructors():获取所有的公有构造方法
                          public Constructor[] getDeclaredConstructors():获取所有构造方法,包括公有、私有、受保护、默认

                          public Constructor<T> getConstructor(Class<?>... parameterTypes):获取单个的公有的构造方法;
                          public Constructor getDeclaredConstructor(Class<?>... parameterTypes):获取单个的构造方法,包括私有的

                          通过Constructor可以调用构造方法,实例化类的对象:
                          Constructor-->newInstance()方法:
                                          方法签名:Object newInstance(Object... initargs):initargs是调用构造方法,传递的参数
                        如果是"私有的构造方法",也可以实例化,但在之前一定要调用:
                                        setAccessible(true);//强制访问私有成员,暴力访问;
                2.获取类的成员属性,并调用;
                       
                3.获取类的成员方法,并调用;

2 个回复

倒序浏览
为什么要使用反射?
回复 使用道具 举报
想要那片海 发表于 2015-5-15 08:25
为什么要使用反射?

咱们编程针对的是.Class文件,而反射可以不用改源代码就可以更改.Class中的数据()。
比如说:游戏 前期执行的第一个线路line 1 ;但是升级了想要执行line2;就用反射去修改配置文件,并且覆盖原配置文件,这样省时省力,方便很多。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马