Java反射的三種實現方式

Foo foo = new Foo();

第一種:經過Object類的getClass方法java

Class cla = foo.getClass();

第二種:經過對象實例方法獲取對象函數

Class cla = foo.class;

第三種:經過Class.forName方式對象

Class cla = Class.forName("xx.xx.Foo");

 

對於有空構造函數的類 能夠直接用字節碼文件獲取實例:blog

Object o = clazz.newInstance();  // 會調用空參構造器 若是沒有則會報錯

對於沒有空的構造函數的類則須要先獲取到他的構造對象 在經過該構造方法類獲取實例:get

Constroctor constroctor = clazz.getConstructor(String.class,int.class); // 獲取構造函數

Object obj = constroctor.newInstance("jack", 18); // 經過構造器對象的newInstance方法進行對象的初始化
相關文章
相關標籤/搜索