1.反射是指程式在執行時,可以通過反射機制拿到任何乙個類的內部所有資訊。
2.可以獲得類的所有屬性資訊,包括私有屬性,並對其進行操作
3.可以獲得物件所對應的類
4.可以拿到本類,或父類中的方法,並且對其進行操作。
常用方法:
getname:獲得類對應的名稱
getdeclaredfields:獲得類中所有引數 私有的也可以獲取到
getfields:只能獲取共有的
getdeclaredmethod:獲得類中的所有方法
getcontructors:獲得類中的構造方法
newinstance:例項化物件
獲取class物件的3中常用方式
1.通過forname方式
//path:類對應的完整路徑=包名加類名
class demo1=class.forname("com.tjpld.model.book");
2.getclass方式
book demo2=new book();
demo2.getclass();
3.類名.class方式
//直接通過類名.class
class demo3=book.class
;book book=demo3.newintances();
用於表示類中,介面中所有屬性物件的乙個類
getname:獲得屬性的名稱
gettype:獲得屬性的型別
get(object obj):取得obj物件中這個屬性的值
set(object obj,object value):向obj這個物件插入乙個value值
setaccessible(true):啟用禁用訪問許可權
使用方法
1.testdemo(class class)
}2. testdemo2(object obj)
}
常用方法
getname:方法名稱
getreturntype:方法的返回值型別
invoke(object obj,object..args):根據object物件呼叫方法
getparamtertype:得到引數型別
使用方法:
showuser(object obj)
method
method=cls.getmethod
("getname",string.class引數型別----沒有用null);
//呼叫多引數的方法 就傳入乙個object型別的陣列
method.invoke
(obj,引數----沒有就new object[0])
}
java反射機制
private string getmethod catch instantiationexception e1 catch illegalacces ception e1 try catch illegalargumentexception e catch illegalacces ception...
java 反射機制
當我們編寫的類生成的位元組碼檔案中的二進位制位元組流被類載入器載入到記憶體當中時,會在方法區產生乙個class物件,作為訪問這些類資訊的入口。假如我們編寫乙個person類,獲取class物件一般有3種方式 class有4個獲取字段資訊的方法,包括靜態變數和例項變數 所有的public欄位,包括其父...
java反射機制
class 獲取class物件有三種方式 例項化物件constructor 獲取方法method 1 批量方法 public method getmethods 獲取所有 公有方法 注 包含了父類的方法也包含object類 public method getdeclaredmethods 獲取所有的...