面试之反射机制的一般步骤

反射是在java面试中很容易考到的一个问题,考官能通过这个了解面试者能力

首先,回答什么是反射?

答:反射是一种间接操作目标对象的机制,在程序程序运行时获取或者设置对象自身的信息。 只要给定类的名字,就可以通过反射获取类的所有信息,接着便能调用它的任何一个方法和属性。

反射的步骤有哪些?

第一:获取类加载器:ClassLoader loader=Thread.currentThread().getContextClassLoader();//获取当前线程的上下文类加载器

第二:通过类加载器获取类  Class clazz=loader.loadClass("com.taobao.reflect.car")//通过对象的全称限定来获取对象。

第三:通过clazz获得构造函数:Constructors cons=clazz.getDeclaraedConstructors(Class[]null);//调用默认的构造函数

第四:然后通过构造函数构造对象:Car car=(Car)cons.newInstance();//获取类的默认构造函数对象并实例化对象。

第五:得到car对象,然后调用car的方法:Method methd =car.getMethod("setName","String.class");//method声明,并指向car的setName这个方法,得到setName方法。

第六:method.invoke(car,"红旗CA72");//通过invoke方法,让car的method(就是setName方法)方法执行,参数为“红旗CA72”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值