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