java反射整理

java反射整理

可以通过某个类或者对象获得当前类的信息

例如存在Person类, p为实例化的对象,获得Class类c

Class c = Person.Class;             // 通过具体类获得Class类
Class c = p.getClass();             // 通过具体对象获得Class类
Person p2 = (Person)c.newInstance();//通过Clsss类获取实例化对象

获的 c 的属性

Field f = c.getField();               //返回一个公共的属性的对象
Field[] fs = c.getFields();           //返回一个公共的属性的对象的数组
Field df = c.getDeclaredField();      //返回一个所有的属性的对象
Field[] dfs = c.getDeclaredFields();  //返回一个所有的属性的对象的数组

Field 的方法,设一个Field对象为f
int mod = f.getModifies()               //获取修饰符代码,返回类型为int
    String smod = Modifier.toString(mod)//获得修饰符名称,返回类型为String
Class c1 = f.getType();                 //获取该属性的类型,返回类型Class
String name = f.getName();              //获取该属性名称,返回类型Stirng

获得c的构造器

Constructor con = c.getConstructors();           //返回一个公共构造器
Constructor[] cons = c.getDeclareConstructors(); //返回所有公共构造器的数组
Constructor con = c.getConstructors();           //返回一个所有构造器
Constructor[] cons = c.getDeclareConstructors(); //返回一个所有构造器的数组

实例化构造器
    //传参要传形参的所属的类
    Constructor[] con = c.getConstructors(Stirng.class, int.class);
    //调用获得的构造方法
    con.invoke(参数1, 参数2);
方法修饰符
    int mod = con.getModifies()         //获取修饰符代码,返回类型为int
    String smod = Modifier.toString(mod)//获得修饰符名称,返回类型为String
参数的获得
    Class[] cs = con.getParameterType() //获得形参数组,返回类型为Class数组

获得c的普通方法

Method con = c.getMethod();             //返回一个公共方法
Method[] cons = c.getDeclareMethods();  //返回所有公共方法的数组
Method con = c.getMethod();             //返回一个所有方法
Method[] cons = c.getDeclareMethods();  //返回一个所有方法的数组

实例化方法 f
    //传参要传形参的所属的类
    Method[] con = c.getConstructors("方法名",Stirng.class, int.class);
    //调用获得的方法
    con.invoke("方法名",参数1, 参数2);

方法修饰符
    int mod = f.getModifies()           //获取修饰符代码,返回类型为int
    String smod = Modifier.toString(mod)//获得修饰符名称,返回类型为String
返回类型        
    Class c = f.getreturnType();        //获得返回类型的类,返回类型为classs
参数的获得
    Class[] cs = f.getParameterType()   //获得形参数组,返回类型为Class数组
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值