第一章反射
java反射
- 反射概念
- 反射的概念
- 反射的機制
- 反射的作用
- 反射常用的API
- 反射的作用
- 使用反射的基本步驟
- Class類
- 獲取類的實例
- 獲取類型的基本信息
- 獲取屬性信息
- 獲取方法的具體信息
- 獲取構造方法信息
- 反射方式創建類的實例
- 通過反射訪問實例的字段
- 通過反射訪問實例的方法
- 反射技術的優點
- 反射技術的缺點
- 反射總結
反射概念
反射的概念
反射是指程勛能夠運行時,觀察,檢測,修改自己運行時狀態和行為的一種能力、特性
反射的機制
1.反射機制是java語言的特性之一,是java被視為動態(或準動態)語言的一個關鍵特性。
2.在運行狀態中,動態獲取類的信息以及動態調用對象的功能稱為java語言的反射機制
反射的作用
1.在運行時判斷任意一個 對象所屬的類
3.在運行時構造任意一個 類的對象
反射常用的API
1.java.lang.Class 類 :反射的核心類,反射的所有操作都是圍繞該類來生成的。通過Class類可以獲取類的屬性,方法等內容信息
2.Java.lang.reflect.Constuctot:表示類的構造方法
3.Java.lang.reflect.Field類:表示類的構造屬性,可以獲取和是指類中屬性的值
4.Java.lang.reflect.Method類:表示類的方法,可以獲取類中方法的信息或執行方法
撤銷:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜體:Ctrl/Command + I
標題:Ctrl/Command + Shift + H
無序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
檢查列表:Ctrl/Command + Shift + C
插入代碼:Ctrl/Command + Shift + K
插入鏈接:Ctrl/Command + Shift + L
插入圖片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替換:Ctrl/Command + G
反射的作用
使用反射的基本步驟
Class類
獲取類的實例
1.使用類.getclass獲得
Class c1=User.class;
2 使用對象.getclass()獲得;
User u=new User();
Class c2=(Class) u.getClass();
3 class.forName(參) 參:類全名;
Class c3=Class.forName(“pm.User”);
獲取類型的基本信息
獲取屬性信息
獲取方法的具體信息
獲取構造方法信息
反射方式創建類的實例
基于圖紙類創建
Class c=User.class;
User user1=c.newInstance();
user1.setName(“李俊陽”);
基于圖紙類的構造函數創建
Class c1=User.class;
Constructor constructor=c1.getDeclaredConstructor();
User user2=(User) constructor.newInstance();
user2.setName(“武教博”);
通過反射訪問實例的字段
//1.操作user類的屬性//先獲得user類的屬性Class<User> c=User.class;User user=(User)c.newInstance();Field field=c.getDeclaredField("name");field.setAccessible(true);field.set(user,"劉文龍");通過反射訪問實例的方法
//先獲得User類的方法對象Method method=c.getDeclaredMethod("getName");String name=(String) method.invoke(user);System.out.println(name);反射技術的優點
反射技術的缺點
反射總結
總結
- 上一篇: JavaScript对象及初始面向对象
- 下一篇: 第一章初始mybatis框架