反射機制獲取Class物件的三種方式

2021-08-13 06:18:03 字數 679 閱讀 1730

person person = new person();

//1、通過object類的getclass()方法:(需要先例項化乙個物件)

class clazz1 = person.getclass();

//2、通過物件例項方法獲取物件:(需要先例項化乙個物件)

class clazz2 = person.class;

//3、類的全路徑:(不許呀例項物件)

class clazz3 = class.forname("com.cn.person");

對於有空的建構函式的類可以直接用位元組碼檔案獲取例項:

object objt = clazz.newinstance();  //會呼叫空參構造器(如果沒有則會報錯);

對於沒有空的建構函式的類則需要先獲取到他的構造物件,在通過該構造方法類獲取例項

1、獲取建構函式

constroctor const = clazz3.getconstructor(string.class,int.class);

2、通過構造器物件的newinsttance方法進行物件的初始化

object obj = const.newinstance("tom",30);

反射機制 獲取Class物件的三種方式

條條大路通羅馬 殊途同歸 任何物件的建立都依賴於位元組碼,反射必要獲取位元組碼物件 是最為熟悉的object類中的getclass 方法,能夠完成自己所屬的位元組碼物件的獲取。人所共知 使用該方式,必要明確具體的類,並建立物件!該方式示例 public void test 是通過靜態屬性.class...

反射機制(1) 獲取 class物件 的方式

有關反射機制的全部內容,請 本人的同專欄博文 詳解 反射機制 在獲取上述的屬性 成員 方法等之前,我們必須要先獲取相應的class物件。所以,本人就在這個專題的開篇來介紹一下三種最常用的獲取 class物件 方式吧 1 形如如下方式 class klass 類.class 2 形如如下方式 類型別 ...

反射獲取Class物件的三種方式

test void contextloads1 throws exception 反射獲取類中的方法 method declaredmethods userclass.getdeclaredmethods for method declaredmethod declaredmethods 反射獲取類...