反射機制的運用例項:
例項一:使用反射機制繞過型別檢查(泛型)
//建立集合物件,指定元素型別
arraylistal = new arraylist();
al.add("hello");
//獲取class類物件
class<? extends arraylist> c = al.getclass();
//獲取集合的add方法
method m = c.getdeclaredmethod("add",object.class);
//為集合新增元素
m.invoke(al,30);
//把集合元素列印到控制台
system.out.println(al);
例項二:使用反射機制實現對任意型別物件的任意成員屬性值進行設定
class<? extends object> c = obj.getclass();
field f = c.getdeclaredfield(field);
f.setaccessible(true);
f.set(obj, value);
例項三:屬性檔案運用到反射機制中
1、在不改變**的前提下
2、通過配置檔案的修改實現不同類的不同方法的呼叫
//建立屬性類物件
properties prop = new properties();
//獲取輸入流
prop.load(new fileinputstream("files/reflect.properties"));
//獲取屬性檔案的鍵
string classname = prop.getproperty("classname");
string method = prop.getproperty("methodname");
//根據屬性類獲取到屬性檔案的鍵後,運用到反射機制中
class c = class.forname(classname);
constructor con = c.getdeclaredconstructor();
con.setaccessible(true);
object obj = con.newinstance();
//獲取成員方法
method m = c.getdeclaredmethod(method);
m.setaccessible(true);
//呼叫成員方法
object inv = m.invoke(obj);
java反射機制,例項
templist 根據傳入的pmid不同建立的list對應的model不同,但是又要獲得這個templist 的屬性像pointname,changethis等等,object不能用get 屬性名來獲取,只能用反射獲得字段陣列,進而獲取欄位名,字段值。public string getexportp...
JAVA反射機制例項
test1.class public class test 3 getmethod 方法名,引數型別1,引數型別2.不常用 method cls.getmethod test2 int.class system.out.println method method 4 getmethods 獲取該類和...
反射的基礎運用
1.獲取class物件的三種方法 1 public class demoreflect catch classnotfoundexception e 15 16 2.獲取class物件的資訊 1 public class getclassinfo 11 3.獲得類物件的構造方法並用構造方法獲得例項物...