1
foo foo =
new
foo();
第一種:通過object類的getclass方法
1
class cla = foo.getclass();
第二種:通過物件例項方法獲取物件
1
class cla = foo.
class
;
第三種:通過class.forname方式
1
class cla = class.forname(
"xx.xx.foo"
);
對於有空建構函式的類 可以直接用位元組碼檔案獲取例項:
1
object o = clazz.newinstance();
// 會呼叫空參構造器 如果沒有則會報錯
對於沒有空的建構函式的類則需要先獲取到他的構造物件 在通過該構造方法類獲取例項:
1
2
3
constroctor constroctor = clazz.getconstructor(string.
class
,
int
.
class
);
// 獲取建構函式
object obj = constroctor.newinstance(
"jack"
,
18
);
// 通過構造器物件的newinstance方法進行物件的初始化
java獲取反射機制的三種方式Demo
以獲取class user為例 public void set object obj,object value 第乙個引數是物件是要設值屬性歸屬的那個類而不是屬性,切記 data class user public class userdemo 2。類名.class classaclass2 use...
java工廠模式的三種實現方式
今天給大家介紹另外一種設計模式 工廠模式。工廠模式主要用於建立產品 物件 使用者只使用產品提供的功能,至於產品功能是如何實現的 產品本身是怎麼建立的,使用者並不關心。實現工廠模式的關鍵技術點如下 用乙個介面抽象產品的功能,所有具體的產品類都實現該介面。工廠類定義乙個建立產品的方法,引數為產品的具體型...
通過反射獲取類的三種方式
一 通過類全限定名進行獲取class.forname classfullname class c class.forname com.mysql.jdbc.driver 二 通過型別獲取,另外任何資料型別都有乙個靜態的屬性class 型別獲取 class c studentinfo.class 任何...