个人理解反射原理

1、通过反射可以获取到该类的所有的公共字段:

      getField(String name)       getField()

      可以使用setField()方法给字段赋值

2、通过反射可以获取到类中的所有的构造函数,通过获取到的构造函数可以对类进行加载

      过程:① 获取到类     ② 调用类的newsInstance()方法实例化

    (1)无参数构造函数

              Class c = Class.forName("String");

              String s = (String) c.newInstance();

    (2)有参数构造函数

              Class c = Class.forName("String");

              Constructor con = c.getConstructor(Class[] ... 变长数组);

              Class[] classes = new Class[]{String class...};

              String s = (String) con.newInstance(); 

      批量加载类的方法:

              public Object[] createClass(String[] strClassName);

3、通过反射获取到类的所有方法,并且可以通过invoke()方法调用该类的底层方法

      Method m = getMethod(String name,Class[] ... 可变数组);//获取想调用的方法

      getMethods();//获取类中的所有方法

      利用反射获取方法:

              m.invoke();

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值