Class.forName()、Class.class、getClass() 区别
生活随笔
收集整理的這篇文章主要介紹了
Class.forName()、Class.class、getClass() 区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問:簡單談談你對 Java 中 Class.forName()、Class.class、getClass() 三者的理解?
- Class.class 的形式會使 JVM 將使用類裝載器將類裝入內存(前提是類還沒有裝入內存),不做類的初始化工作,返回 Class 對象。
- Class.forName() 的形式會裝入類并做類的靜態初始化,返回 Class 對象。
- getClass() 的形式會對類進行靜態初始化、非靜態初始化,返回引用運行時真正所指的對象(因為子對象的引用可能會賦給父對象的引用變量中)所屬的類的 Class 對象。
靜態屬性初始化是在加載類的時候初始化,而非靜態屬性初始化是 new 類實例對象的時候初始化。它們三種情況在生成 Class 對象的時候都會先判斷內存中是否已經加載此類。
轉自《Java Class.forName()、Class.class、getClass() 區別》
總結
以上是生活随笔為你收集整理的Class.forName()、Class.class、getClass() 区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cadence自动生成铺铜_干货 | 国
- 下一篇: LeetCode算法入门- Merge