java反射[编辑]
一、简介
概括:Java反射通过采用某种机制来实现对自己行为的描述和监测,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。
具体:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。
二、功能
1.在运行时判断任意一个对象所属的类;
2.在运行时构造任意一个类的对象;
3.在运行时判断任意一个类所具有的成员变量和方法;
4.在运行时调用任意一个对象的方法;
5.生成动态代理。
三、Java中的类反射
1.动态相关机制:Reflection
Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,使类和数据结构能按名称动态检索相关信息,并能直接操作程序的内部属性和方法。
2.reflection 用法
(1)找出类的方法
(2)获取构造器信息
(3)获取类的字段(域)
(4)根据方法的名称来执行方法
(5)改变字段(域)的值
(6)使用数组
(7)创建新的对象
四、Java类反射中所必须的类
1.Field类:获得字段信息
Field getField(String name) --------------------获得命名的公共字段
Field[] getFields() -------------------------------获得类的所有公共字段
Field getDeclared Field(String name)------获得类声明的命名的字段
Field[] getDeclared Fields() --- ---------------获得类声明的所有字段
2.Constructor类:查找构造函数
Constructor getConstructor(Class[] params) ----------获得使用特殊的参数类型的公共构造函数
Constructor[] getConstructors() --------------------------------------获得类的所有公共构造函数
Constructor getDeclared Constructor(Class[] params) -- 获得使用特定参数类型的构造函数
Constructor[] getDeclared Constructors() --------------------------------获得类的所有构造函数
3.Method类:获得方法信息函数
Method getMethod(String name,Class[] params)-----使用特定的参数类型,获得命名的公共方法
Method[] getMethods() ----------------------------------------------------------获得类的所有公共方法
Method getDeclared Method(String name, Class[] params)---使用特写的参数类型获得类声明的命名
Method[] getDeclared Methods() ---------------------------------------------获得类声明的所有方法
4.Object类:每个类都使用 Object 作为超类。
五、反射的安全性
基本模式是对反射实施与应用于源代码接入相同的限制:
1.从任意位置到类公共组件的接入
2.类自身外部无任何到私有组件的接入
3.受保护和打包(缺省接入)组件的有限接入
网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。