Java 程序中獲得 Class 對象通常有如下三種方式:
•使用 Class 的 forName()
•調用某個類的 class 屬性
•調用某個對象的 getClass()
代碼舉例:
內容解析:
Class本身也是一個類,當JVM將用戶自定義的類加載進來之後,會生成對應的Class的對象。
- 可以通過Class類的靜態方法forName方法輸入類的路徑直接獲取這個對象;
- 也可以通過用戶自定義的類的靜態屬性class獲取這個對象;
- 用戶自定義的類的對象也可以通過函數獲取其對應的Class對象。
三種方式的區別:
- 方法一不執行靜態塊和動態構造塊;
- 方法二執行靜態塊、不執行動態構造塊;
- 方法三需要創建對象,靜態塊和動態構造塊均會執行。
注意:靜態塊僅在類加載時執行一次,若類已加載便不再重複執行;而動態構造塊在每次new對象時均會執行。