JAVA的反射机制主要提供的功能有哪些

JAVA的反射机制主要提供的功能有:

        1、在运行时判断任意一个对象所属的类;

        2、在运行时构造任意一个类的对象;

        3、在运行时判断任意一个类所具有的成员变量和方法;

        4、在运行时调用任意一个对象的方法;

        5、生成动态代理;


得到该对象所属的类:

Class ownerClass = owner.getClass()


在运行时构造一个类的对象:
 

Class newoneClass = Class.forName(className):第一步,得到要构造的实例的Class。

Constructor cons = newoneClass.getConstructor(argsClass):得到构造器。

cons.newInstance(args):新建实例。


在运行时判断一个类所具有的成员变量和方法:

Class ownerClass = owner.getClass():得到该对象的Class。

Field field = ownerClass.getField(fieldName):通过Class得到类声明的属性。

Object property = field.get(owner):
通过对象得到该属性的实例,如果这个属性是非公有的,这里会报IllegalAccessException。
在运行时调用一个对象的方法:
Method method = ownerClass.getMethod(methodName, argsClass):
通过Method名和参数的Class数组得到要执行的Method。

method.invoke(owner, args):执行该Method,invoke方法的参数是执行这个方法的对象,和参数数组。
返回值是Object,也既是该方法的返回值。

 

你可能感兴趣的:(java面试)