Java 反射机制超详细解析

1 反射机制是什么

反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。

2 反射机制能做什么


反射机制主要提供了以下功能:
•        在运行时判断任意一个对象所属的类;
•        在运行时构造任意一个类的对象;
•        在运行时判断任意一个类所具有的成员变量和方法;
•        在运行时调用任意一个对象的方法;
•        生成动态代理。

3反射机制的相关API

通过一个对象获得完整的包名和类名   

实例化Class类对象

 获取一个对象的父类与实现的接口

获取某个类中的全部构造函数 - 详见下例

通过反射机制实例化一个类的对象

获取某个类的全部属性

获取某个类的全部方法

通过反射机制调用某个类的方法

通过反射机制操作某个类的属性

反射机制的动态代理

// 获取类加载器的方法
TestReflect testReflect = new TestReflect();
        System.out.println("类加载器  " + testReflect.getClass().getClassLoader().getClass().getName());

4反射机制的应用实例

在泛型为Integer的ArrayList中存放一个String类型的对象。

通过反射取得并修改数组的信息   

通过反射机制修改数组的大小   

将反射机制应用于工厂模式

猜你喜欢

转载自www.linuxidc.com/Linux/2017-05/144008.htm