反射

什么是反射:

对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制

类对象的获取

1.加载类到方法区时获取

 Class clazz=  Class.forName("com.fs.ref.Student");

2.编译时获取

Class clazz = Student.class;

3.通过对象获取

Student student  = new Student();
  Class clazz3 =  student.getClass();

获取公共的构造方法

    • Constructor<T>getConstructor(<?>... parameterTypes)

      返回一个 Constructor对象,该对象反映 Constructor对象表示的类的指定的公共 函数。

      Constructor<?>[]getConstructors()

      返回包含一个数组 Constructor对象反射由此表示的类的所有公共构造 对象。

获取私有构造

获取字段属性Filed


  1.Field getField(String name) 
  返回一个 Field对象,它反映此表示的类或接口的指定公共成员字段 类对象。  
  2.Field[] getFields() 
  返回包含一个数组 Field对象反射由此表示的类或接口的所有可访问的公共字段 类对象。  
  3.Field getDeclaredField(String name) 
  返回一个 Field对象,它反映此表示的类或接口的指定已声明字段 类对象。  
  4.Field[] getDeclaredFields() 
  返回的数组 Field对象反映此表示的类或接口声明的所有字段 类对象。

 
   
  字段方法:


  Object get(Object obj) 
  返回该所表示的字段的值 Field ,指定的对象上。
  void set(Object obj, Object value) 
  将指定对象参数上的此 Field对象表示的字段设置为指定的新值。 

  获取成员方法Method


  1.Method getMethod(String name, 类<?>... parameterTypes) 
  返回一个 方法对象,它反映此表示的类或接口的指定公共成员方法 类对象。  
  2.Method[] getMethods() 
  返回包含一个数组 方法对象反射由此表示的类或接口的所有公共方法 类对象,包括那些由类或接口和那些从超类和超接口继承的声明。  
  3.Method getDeclaredMethod(String name, 类<?>... parameterTypes) 
   返回一个 方法对象,它反映此表示的类或接口的指定声明的方法 类对象。  
  4.Method[] getDeclaredMethods() 
  返回包含一个数组 方法对象反射的类或接口的所有声明的方法,通过此表示 类对象,包括公        共,  保护,默认(包)访问和私有方法,但不包括继承的方法。  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值