Java反射的三種實現方式

2021-08-14 02:22:43 字數 989 閱讀 7761

1

foo foo =newfoo();

第一種:通過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 任何...