java 反射 定义 功能 示例
概要:
Java反射机制详解
| |目录
- 1反射机制是什么
- 2反射机制能做什么
- 3反射机制的相关API
- ·通过一个对象获得完整的包名和类名
- ·实例化Class类对象
- ·获取一个对象的父类与实现的接口
- ·获取某个类中的全部构造函数 - 详见下例
- ·通过反射机制实例化一个类的对象
- ·获取某个类的全部属性
- ·获取某个类的全部方法
- ·通过反射机制调用某个类的方法
- ·通过反射机制操作某个类的属性
- ·反射机制的动态代理
- 4反射机制的应用实例
- ·在泛型为Integer的ArrayList中存放一个String类型的对象。
- ·通过反射取得并修改数组的信息
- ·通过反射机制修改数组的大小
- ·将反射机制应用于工厂模式
1反射机制是什么
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
2反射机制能做什么
反射机制主要提供了以下功能:
-
在运行时判断任意一个对象所属的类;
-
在运行时构造任意一个类的对象;
-
在运行时判断任意一个类所具有的成员变量和方法;
-
在运行时调用任意一个对象的方法;
-
生成动态代理。
3反射机制的相关API
通过一个对象获得完整的包名和类名
Java | 复制
1 2 3 4 5 6 7 8 |
|
实例化Class类对象
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
获取一个对象的父类与实现的接口
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
获取某个类中的全部构造函数 - 详见下例
通过反射机制实例化一个类的对象
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
|
获取某个类的全部属性
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
获取某个类的全部方法
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
通过反射机制调用某个类的方法
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
通过反射机制操作某个类的属性
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
反射机制的动态代理
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
4反射机制的应用实例
在泛型为Integer的ArrayList中存放一个String类型的对象。
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 |
|
通过反射取得并修改数组的信息
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
通过反射机制修改数组的大小
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
将反射机制应用于工厂模式
Java | 复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|