Java反射机制

 

Java反射机制:运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java
反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。

Reflection Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fieldsmethods的所有信息,并可于运行时改变fields内容或唤起methods

JDK中,实现反射机制的类在java.lang.reflect包中。

    1. Class 类:代表一个类
      
它有以下方法
     (1) getName()
:获得类的完整名字。
     (2) getFields()
:获得类的public类型的属性。 
     (3) getDeclaredFields()
 获得类的所有属性,包括publicprotected、默认和private访问级别的属性。 
     (4) getMethods()
:获得类的public类型的方法。 
     (5) getDeclaredMethods()
:获得类的所有方法。
     (6) getMethod(String name, Class[] parameterTypes)
:获得类的特定方法,name参数指定方法的名字,parameterTypes参数指定方法的参数类型。 
     (7) getConstrutors()
:获得类的public类型的构造方法。
     (8) getConstrutor(Class[] parameterTypes)
:获得类的特定构造方法,parameterTypes参数指定构造方法的参数类型。 
     (9) newInstance()
:通过类的不带参数的构造方法创建这个类的一个对象。

    2. Field 类:代表类的成员变量(类的属性)。

    3. Method类:代表类的方法。Method类的invoke(Object obj,Object args[])方法用于动态执行一个对象的特定方法,它的第一个 obj 参数指定具有该方法的对象,第二个args 参数指定向该方法传递的参数。

    4. Constructor类:代表类的构造方法。

    5. Array 类:提供了动态创建数组,以及访问数组元素的静态方法。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值