類的加載器和反射

類的加載器
加載
就是指將class文件讀入內存,併爲之建立一個Class對象。
任何類被使用時系統都會創建一個Class對象
鏈接
驗證 是否有正確的內部結構,並和其餘類協調一致
準備 負責爲類的靜態成員分配內存,並設置默認初始化值
解析 將類的二進制數據中的符號引用替換爲直接引用
初始化
就是咱們之前講過的初始化步驟、
反射java

JAVA反射機制是在運行狀態中,對於任意一個類,都可以知道這個類的全部屬性和方法;對於任意一個對象,都可以調用它的任意方法和屬性;這種動態獲取信息以及動態調用對象方法的功能稱爲java語言的反射機制。數組


獲取class對象的三種方式
一、Class c = new Person(); .getClass();
二、Class c2 = Person.class;
三、Class c3 = Class.forName("Person");
c.getConstructors()獲取全部公共構造方法數組
c.getDeclaredConstructors();獲取全部構造方法
c.getConstructor(int.class,String.class);獲取公共的構造方法對象
Object obj=con.newInstance(12,"小火鍋");用經過構造方法對象建立對象
c.getDeclaredConstructor(String.class,int.class);獲取私有的構造方法對象
con.setAccessible(true);容許構造器暴力反射
Person p=(Person)c.newInstance();快速建立person對象
c.getMethod("sleep",String.class);獲取公共有參 成員方法對象
泛型擦除
擦除泛型原理就是用泛型不進class文件 而後用class對象對集合進行添加操做3d

 

 

 

 

 

 

相關文章
相關標籤/搜索