反射
reflect
為什麼要用反射?
把物件的集合轉為二維陣列,其實是把物件轉為陣列
把任意型別的物件轉為其屬性的陣列
什麼是反射?
在程式執行時通過class類的物件獲取該物件所代表的類的資訊,以及操作。
獲取class的物件
1.直接使用類,使用類名。class無論哪種方式,拿到的都是同乙個物件
class c1 = user.class;
2.類所建立的物件getclass方法
class c2 = user.getclass();
3.最常用的,class的靜態方法
class c3 = class.forname(「全類名」);
4.反射中一些基本的使用方法
getfield("");//獲取單一的屬性(公有)
getfields();//獲取類中所有屬性(公有)
getdeclaredfields();//獲取類中所有屬性(包括私有)
getdeclaredfield("");//獲取類中私有屬性
getmethod("");//獲取類中共有方法
getmethods();//獲取類中所有公有方法
一些基本使用情況。
反射的作業比較
這兩種用法最大的區別就是,用反射可以直接獲取不同型別物件,然後給值。而單一的選定物件就很侷限,因為物件千千萬。
javase複習 反射
反射 當位元組碼檔案載入到記憶體時,會進行解剖建立乙個對應的class物件,把位元組碼檔案的資訊都儲存進去。通過class物件使用位元組碼物件設定物件屬性,呼叫物件方法的過程叫做反射!person p new person 110,狗娃 class clazz1 class.forname cn.i...
反射(複習總結)
反射 將類的各個組成部分封裝為其他物件,這就是反射機制 好處 1.可以在程式執行過程中,操作這些物件。2.可以解耦,提高程式的可擴充套件性。獲取class物件的方式 1.class.forname 全類名 將位元組碼檔案載入進記憶體,返回class物件 多用於配置檔案,將類名定義在配置檔案中。讀取檔...
C 複習反射
反射中常用方法 1 獲取物件型別 2 one one new one 3 type t one.gettype 45 動態載入 6 assembly a assembly.loadfile path 7 獲取所有公共類 8 type tys assembly.getexportedtypes 910...