java反射機制

2021-08-21 04:16:33 字數 1140 閱讀 3163

class

獲取class物件有三種方式

例項化物件constructor

獲取方法method

1). 批量方法

public method getmethods();// 獲取所有"公有方法";(注:包含了父類的方法也包含object類)

public method getdeclaredmethods();// 獲取所有的成員方法,包括私有的(注:不包括繼承的)

2). 獲取指定方法

public method getmethod(string name,class<?>... parametertypes): //獲取公共方法,引數:name : 方法名;class ... : 形參的class型別物件

public method getdeclaredmethod(string name,class<?>... parametertypes) // 獲取私有方法

3). 方法呼叫

method.invoke(object obj,object... args); //obj : 要呼叫方法的物件;args:呼叫方式時所傳遞的實參;

在呼叫「私有方法」的之前,必須要加上method.setaccessible(true);來解除私有限定

獲取字段

2). 批量方法

public field getfields(): //獲取所有的"公有字段";(注:包含了父類的字段也包含object類)

public field getdeclaredfields()// 獲取所有的成員字段(注:不包括繼承的)

2). 獲取指定字段

public field getfield(string fieldname):獲取某個"公有的"字段;

public field getdeclaredfield(string fieldname):獲取某個字段(可以是私有的)

3). 方法呼叫

field.set(object obj,object value) //obj : 要設定的字段的物件;value:要為字段設定的值;

在為「私有字段」賦值的之前,必須要加上 field.setaccessible(true);來解除私有限定 。

**示範可以參考,

java反射機制

private string getmethod catch instantiationexception e1 catch illegalacces ception e1 try catch illegalargumentexception e catch illegalacces ception...

Java反射機制

1.反射是指程式在執行時,可以通過反射機制拿到任何乙個類的內部所有資訊。2.可以獲得類的所有屬性資訊,包括私有屬性,並對其進行操作 3.可以獲得物件所對應的類 4.可以拿到本類,或父類中的方法,並且對其進行操作。常用方法 getname 獲得類對應的名稱 getdeclaredfields 獲得類中...

java 反射機制

當我們編寫的類生成的位元組碼檔案中的二進位制位元組流被類載入器載入到記憶體當中時,會在方法區產生乙個class物件,作為訪問這些類資訊的入口。假如我們編寫乙個person類,獲取class物件一般有3種方式 class有4個獲取字段資訊的方法,包括靜態變數和例項變數 所有的public欄位,包括其父...