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 |
|