反射機制獲取Class對象的三種方式:


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);

 


免責聲明!

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



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