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 反射獲取類...