黑馬程式設計師——Java高新技術---反射
——— android培訓、java培訓、期待與您交流! ———
理解反射
所謂反射,就是把一個類裡面所有的變數和方法以及構造器的資訊都複製出來,可以檢視,還可以使用。所以反射的出現讓我們可以動態的實用類和物件,
反射的操作:得到類的Class物件,抽取Class物件中的屬性資訊,得到這個類的變數、方法和建構函式。
實踐在java中即是:通過Class類獲取原類的所有資訊,通過Property類將資訊儲存到Field或Method、Constructor類中。
反射操作
程式碼:
Class c //得到某個類的Class物件
PropertyDescriptor pd //得到這個類的某個屬性
Method method //得到這個屬性的操作方法(get、set)
// get -> getReadMethod()
// set -> getWriteMethod()
method.invoke(obj) //對這個物件操作這個方法
例:
Class c = obj.getClass();
PropertyDescriptor pd = new
PropertyDescriptor(field,c);
Method method = pd.getReadMethod();
return method.invoke(obj);
Class類
Class類存放原類的所有資訊,是反射的基礎。
有三種方法得到類的Class物件:
- 類名.class
- 變數名.getClass()
Class.forName(“類名”)
還有一種比較特殊的:數值型別.Type
程式碼:
Person person = new Person();
Class class1 = Person.class;
Class class2 = person.getClass();
Class class3 = Class.forName("Person");
將類的資訊儲存進Method物件中後,通過invoke()方法使用類中的方法。
Constructor
存放類的建構函式
程式碼:
Class c = Person.class;
//args...處是引數列表
Constructor constructor = c.getDeclaredConstructor(args...);
//獲得所有建構函式
Constructor[] declaredConstructor = c.getDeclaredConstructors()
相關文章
- 黑馬程式設計師--java高新技術 25--列舉,反射程式設計師Java反射
- 黑馬程式設計師_Java高新技術之列舉程式設計師Java
- 黑馬程式設計師Java培訓和Android培訓_java高新技術(一)程式設計師JavaAndroid
- 黑馬程式設計師——Java學習筆記之⑧——“Java新技術”程式設計師Java筆記
- 黑馬程式設計師-Java概述程式設計師Java
- 黑馬程式設計師Java培訓和Android培訓Java技術二程式設計師JavaAndroid
- 黑馬程式設計師程式設計師
- 好程式設計師Java培訓分享Java之反射技術程式設計師Java反射
- 黑馬程式設計師java筆記之一-----Map集合程式設計師Java筆記
- 黑馬程式設計師——Java學習筆記之⑦——“網路程式設計”程式設計師Java筆記
- 黑馬程式設計師前端學習之路程式設計師前端
- 黑馬程式設計師——型別轉換程式設計師型別
- 【黑馬程式設計師濟南中心】java基礎-陣列程式設計師Java陣列
- 黑馬程式設計師Java培訓和Android培訓:程式設計基礎程式設計師JavaAndroid
- 黑馬程式設計師第七天程式設計師
- 好程式設計師Java培訓Java程式設計師必學技術程式設計師Java
- 黑馬程式設計師Java培訓和Android培訓:列舉程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓:I/O程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓_IO(二)程式設計師JavaAndroid
- Java外包程式設計師的技術出路Java程式設計師
- 程式設計師的燈下黑:重知識輕技術程式設計師
- 黑馬程式設計師Java培訓和Android培訓:培訓前奏程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓:物件導向程式設計師JavaAndroid物件
- 黑馬程式設計師Java培訓和Android培訓:內部類程式設計師JavaAndroid
- 黑馬程式設計師_畢向東JAVA基礎_設計模式&異常處理機制程式設計師Java設計模式
- Java程式設計師都需要懂的「反射」Java程式設計師反射
- 黑馬程式設計師Java培訓和Android培訓:多執行緒程式設計師JavaAndroid執行緒
- Java程式設計師必讀:最新流行的Java開發程式設計技術Java程式設計師
- 【黑馬程式設計師濟南中心】代理模式-Cglib代理程式設計師模式CGLib
- 黑馬程式設計師面試題一(交通燈管理系統)程式設計師面試題
- 黑馬程式設計師---學習筆記3:進位制程式設計師筆記
- 黑馬程式設計師—一張帖看完黑馬所有學科、班級就業薪資貼程式設計師就業
- java反射技術Java反射
- Java程式設計師都要懂得知識點:反射Java程式設計師反射
- 黑馬程式設計師_ios基礎總結1_IOS概述程式設計師iOS
- 黑馬程式設計師Java培訓和Android培訓Java GUI圖形使用者介面程式設計師JavaAndroidGUI
- 程式設計師的燈下黑:管理還是技術?興趣優先程式設計師
- 程式設計師【黑話】指南程式設計師