黑马程序员技术交流社区

标题: 反射概述及基本方法 [打印本页]

作者: 与梦逆风而行    时间: 2014-12-2 17:31
标题: 反射概述及基本方法
1:反射的概念:
     JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制
        (1)类的加载及类加载器
        (2)反射:
                通过字节码文件对象,去使用成员变量,构造方法,成员方法
        (3)反射的使用
                A:通过反射获取构造方法并使用
                B:通过反射获取成员变量并使用
                C:通过反射获取成员方法并使用
        (4)反射案例
                A:通过反射运行配置文件的内容
                B:通过反射越过泛型检查
                C:通过反射给任意的一个对象的任意的属性赋值为指定的值
        
l获取构造方法

  getConstructors
  getDeclaredConstructors
l创建对象

  newInstance()

  con.newInstance(“zhangsan",20);
l获取所有成员

  getFields,getDeclaredFields
l获取单个成员

  getField,getDeclaredField
l修改成员的值



  set(Object obj,Object value)

   将指定对象变量上此 Field 对象表示的字段设置为指定的新值。

l获取所有方法

  getMethods
  getDeclaredMethods
l获取单个方法

  getMethod
  getDeclaredMethod
l暴力访问

  method.setAccessible(true);





作者: 与梦逆风而行    时间: 2014-12-3 13:40
反射在基础中用的不多,因为反射的原理感觉有点推翻java基础的知识, 只是几个案例或者面试题能遇到。但是到真正的项目开发的时候 很多框架都是用反射的。同学们要好好理解和学习反射:)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2