Java反射的三種實現方式


Foo foo = new Foo();

第一種:通過Object類的getClass方法

Class cla = foo.getClass();

第二種:通過對象實例方法獲取對象

Class cla = foo.class;

第三種:通過Class.forName方式

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

 

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

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

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

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

Object obj = constroctor.newInstance("jack", 18); // 通過構造器對象的newInstance方法進行對象的初始化

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM