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

反射是在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”。

你可能感兴趣的:(面试之反射机制的一般步骤)