Java反射机制

来源:互联网 发布:扒谱子软件 编辑:程序博客网 时间:2024/06/05 12:02

Java的反射机制是Java特性之一,反射机制是构建框架技术的基础所在。灵活掌握Java反射机制,对大家以后学习框架技术有很大的帮助。


什么是反射

Reflection -反射
在java 运行时 环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用他的任意一个方法?
答案是肯定的,这种动态获取类的信息以及动态调用对象的方法的功能来自于java语言的反射(Reflection)机制
所以反射就是java语言提供的一种在 运行时 获取一个类的结构、创建某一个类对象以及动态调用某个对象方法与属性的机制。


Java反射机制提供的能力

  • 在运行时判断任意一个对象所属的类。
  • 在运行时构造任意一个类的对象。
  • 在运行时判断任意一个类所具有的成员变量和方法。
  • 在运行时调用任意一个对象的方法。
  • 在运行时修改任意一个对象的属性值。

1.获取对应的class对象

  • 方式1:★
    Class clazz=Class.forName(“全限定名”);
  • 方式2:
    Class clazz=类名.class;
  • 方式3:
    Class clazz=对象.getClass();

2.通过class对象创建一个实例对象(相当于 new 类())
Object clazz.newInstance();

3.通过class对象获取一个方法(public修饰的)
Method method=clazz.getMethod(“方法名”,Class …. paramType);
paramType为参数的类型

4.让方法执行:
method.invoke(Object 实例对象,Object … 参数);
Object 实例对象:以前调用方法的对象 就是a
Object … 参数:该方法运行时需要的参数 就是 10和30
执行这个方法 相当于
a.add(10,30);
例如:
method.invoke(a,10,30)

原创粉丝点击