如何使用Java的反射

a、通过一个全限类名创建一个对象

        1)、Class.forName("全限类名");例如:com.mysql.jdbc.Driver,Driver类已经被加载到jvm中,并完成了类的初始化工作就行了

        2)、类名.class:获取Class<?>clz 对象

        3)、对象.getClass();

b、获取构造器对象,通过构造器new出一个对象

        1)、Clazz.getConstructor([String.class]);

        2)、Con.newInstance([参数]);

c、通过class对象创建一个实例对象(就相当new类名() 无参构造器)

        1)、Clazz.newInstance();

d、通过class对象获得一个属性对象

        1)、Field c = clz.getFields():获取某个类的所有公共(public)的字段,包括父类中的字段。

        2)、Field c = clz.getDeclaredFields():获取某个类中所有的声明字段,即包括public、private和procteced,但是不包括父类的声明字段。

e、通过一个class对象获得一个方法对象   

        1)、Clazz.getMethod("方法名",class...parameaType);(只能获取公共的)

        2)、Clazz.getDeclareMethod("方法名");(获取任意修饰的方法,不能执行私有)

        3)、M.setAccessible(true);(让私有方法可以执行)

f、让方法执行

         1)、Method.invoke(obj实例对象,obj可变参数);--(是有返回值的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qqfig

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值